| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819 |
- /*
- * Copyright (c) 1983-2020 Trevor Wishart and Composers Desktop Project Ltd
- * http://www.trevorwishart.co.uk
- * http://www.composersdesktop.com
- *
- This file is part of the CDP System.
-
- The CDP System is free software; you can redistribute it
- and/or modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The CDP System is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the CDP System; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA
- *
- */
- /* floatsam version */
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <structures.h>
- #include <tkglobals.h>
- #include <processno.h>
- #include <logic.h>
- #include <modeno.h>
- #include <special.h>
- #include <cdparams.h>
- #include <globcon.h>
- static int set_param_data(aplptr ap, int special_data,int maxparamcnt,int paramcnt,char *paramlist);
- static int set_vflgs(aplptr ap,char *optflags,int optcnt,char *optlist,
- char *varflags,int vflagcnt, int vparamcnt,char *varlist);
- /****************************** SET_LEGAL_PARAM_STRUCTURE *********************************/
- int set_legal_param_structure(int process,int mode, aplptr ap)
- {
- /* | |m| | | */
- /* | |a| | | */
- /* | |x| | | */
- /* | |p|p| | */
- /* | |a|a| | */
- /* | special-data |r|r| param | */
- /* | |a|a| list | */
- /* | |m|m| | */
- /* | |c|c| | */
- /* | |n|n| | */
- /* | |t|t| | */
-
- switch(process) {
- case(ACCU): return set_param_data(ap,0 ,0,0,"" );
- case(ALT): return set_param_data(ap,0 ,0,0,"" );
- case(ARPE): return set_param_data(ap,0 ,2,2,"iD" );
- case(AVRG): return set_param_data(ap,0 ,1,1,"I" );
- case(BARE): return set_param_data(ap,0 ,0,0,"" );
- case(BLTR): return set_param_data(ap,0 ,2,2,"II" );
- case(BLUR): return set_param_data(ap,0 ,1,1,"I" );
- case(BRIDGE): return set_param_data(ap,0 ,0,0,"" );
- case(CHANNEL): return set_param_data(ap,0 ,1,1,"d" );
- case(CHORD): return set_param_data(ap,SEMIT_TRANSPOS_SET ,0,0,"" );
- case(CHORUS):
- switch(mode) {
- case(CH_AMP):
- return set_param_data(ap,0 ,2,1,"D0" );
- case(CH_FRQ):
- case(CH_FRQ_UP):
- case(CH_FRQ_DN):
- return set_param_data(ap,0 ,2,1,"0D" );
- case(CH_AMP_FRQ):
- case(CH_AMP_FRQ_UP):
- case(CH_AMP_FRQ_DN):
- return set_param_data(ap,0 ,2,2,"DD" );
- }
- break;
- case(CLEAN):
- switch(mode) {
- case(FROMTIME):
- case(ANYWHERE):
- case(FILTERING):
- return set_param_data(ap,0 ,1,1,"d" );
- case(COMPARING):
- return set_param_data(ap,0 ,1,0,"0" );
- }
- break;
- case(CROSS): return set_param_data(ap,0 ,0,0,"" );
- case(CUT): return set_param_data(ap,0 ,2,2,"dd" );
- case(DIFF): return set_param_data(ap,0 ,0,0,"" );
- case(DRUNK): return set_param_data(ap,0 ,3,3,"idd" );
- case(EXAG): return set_param_data(ap,0 ,1,1,"D" );
- case(FILT):
- switch(mode) {
- case(F_HI):
- case(F_HI_NORM):
- case(F_LO):
- case(F_LO_NORM):
- return set_param_data(ap,0 ,4,2,"D0D0" );
- case(F_HI_GAIN):
- case(F_LO_GAIN):
- return set_param_data(ap,0 ,4,3,"D0Dd" );
- case(F_BND):
- case(F_BND_NORM):
- case(F_NOTCH):
- case(F_NOTCH_NORM):
- return set_param_data(ap,0 ,4,3,"DDD0" );
- case(F_BAND_GAIN):
- case(F_NOTCH_GAIN):
- return set_param_data(ap,0 ,4,4,"DDDd" );
- }
- break;
- case(FMNTSEE): return set_param_data(ap,0 ,0,0,"" );
- case(FOCUS): return set_param_data(ap,0 ,2,2,"iD" );
- case(FOLD): return set_param_data(ap,0 ,2,2,"DD" );
- case(FORM): return set_param_data(ap,0 ,0,0,"" );
- case(FORMANTS): return set_param_data(ap,0 ,0,0,"" );
- case(FORMSEE): return set_param_data(ap,0 ,0,0,"" );
- case(FREEZE): return set_param_data(ap,FREEZE_DATA ,0,0,"" );
- case(FREEZE2): return set_param_data(ap,FREEZE2_DATA ,0,0,"" );
- case(FREQUENCY):return set_param_data(ap,0 ,1,1,"i" );
- case(GAIN): return set_param_data(ap,0 ,1,1,"D" );
- case(GLIDE): return set_param_data(ap,0 ,1,1,"d" );
- case(GLIS):
- switch(mode) {
- case(SHEPARD):
- case(SELFGLIS):
- return set_param_data(ap,0 ,2,1,"D0" );
- case(INHARMONIC):
- return set_param_data(ap,0 ,2,2,"Dd" );
- }
- break;
- case(GRAB): return set_param_data(ap,0 ,1,1,"d" );
- case(GREQ):
- switch(mode) {
- case(GR_ONEBAND):
- return set_param_data(ap,FILTER_FRQS ,0,0,"" );
- case(GR_MULTIBAND):
- return set_param_data(ap,FILTER_BWS_AND_FRQS ,0,0,"" );
- }
- break;
- case(INVERT): return set_param_data(ap,0 ,0,0,"" );
- case(LEAF): return set_param_data(ap,0 ,1,1,"i" );
- case(LEVEL): return set_param_data(ap,0 ,0,0,"" );
- case(MAGNIFY): return set_param_data(ap,0 ,2,2,"dd" );
- case(MAKE): return set_param_data(ap,0 ,0,0,"" );
- case(MAX): return set_param_data(ap,0 ,0,0,"" );
- case(MEAN): return set_param_data(ap,0 ,0,0,"" );
- case(MORPH): return set_param_data(ap,0 ,6,6,"dddddd");
- case(NOISE): return set_param_data(ap,0 ,1,1,"D" );
- case(OCT):
- switch(mode) {
- case(OCT_UP):
- case(OCT_DN):
- return set_param_data(ap,0 ,2,1,"i0" );
- case(OCT_DN_BASS):
- return set_param_data(ap,0 ,2,2,"iD" );
- }
- break;
- case(OCTVU): return set_param_data(ap,0 ,1,1,"d" );
- case(P_APPROX): return set_param_data(ap,0 ,0,0,"" );
- case(P_CUT):
- switch(mode) {
- case(PCUT_START_ONLY):
- return set_param_data(ap,0 ,2,1,"D0" );
- case(PCUT_END_ONLY):
- return set_param_data(ap,0 ,2,1,"0D" );
- case(PCUT_BOTH):
- return set_param_data(ap,0 ,2,2,"DD" );
- }
- break;
- case(P_EXAG):
- switch(mode) {
- case(RANGE_ONLY_TO_P):
- case(RANGE_ONLY_TO_T):
- return set_param_data(ap,0 ,3,2,"DD0" );
- case(CONTOUR_ONLY_TO_P):
- case(CONTOUR_ONLY_TO_T):
- return set_param_data(ap,0 ,3,2,"D0D" );
- case(R_AND_C_TO_P):
- case(R_AND_C_TO_T):
- return set_param_data(ap,0 ,3,3,"DDD" );
- }
- break;
- case(P_FIX): return set_param_data(ap,0 ,0,0,"" );
- case(P_HEAR): return set_param_data(ap,0 ,0,0,"" );
- case(P_INFO): return set_param_data(ap,0 ,0,0,"" );
- case(P_INVERT): return set_param_data(ap,INTERVAL_MAPPING ,0,0,"" );
- case(P_QUANTISE): return set_param_data(ap,PITCHQUANTISE_SET ,0,0,"" );
- case(P_RANDOMISE): return set_param_data(ap,0 ,2,2,"DD" );
- case(P_SEE):
- switch(mode) {
- case(SEE_PITCH):
- return set_param_data(ap,0 ,1,1,"d" );
- case(SEE_TRANSPOS):
- return set_param_data(ap,0 ,1,0,"0" );
- }
- break;
- case(P_SMOOTH): return set_param_data(ap,0 ,1,1,"D" );
- //TW NEW
- case(P_SYNTH): return set_param_data(ap,PITCH_SPECTRUM ,0,0,"" );
- case(P_VOWELS): return set_param_data(ap,PITCH_VOWELS ,5,5,"dddDD" );
- case(VFILT): return set_param_data(ap,PITCH_VOWELS ,4,4,"dddd" );
- case(P_GEN): return set_param_data(ap,PITCH_CREATE ,1,1,"i" );
- case(P_INSERT): return set_param_data(ap,ZERO_INSERTTIMES ,0,0,"" );
- case(P_SINSERT): return set_param_data(ap,ZERO_INSERTTIMES ,0,0,"" );
- case(P_PTOSIL): return set_param_data(ap,0 ,0,0,"" );
- case(P_NTOSIL): return set_param_data(ap,0 ,0,0,"" );
- case(ANALENV): return set_param_data(ap,0 ,0,0,"" );
- case(P_BINTOBRK): return set_param_data(ap,0 ,0,0,"" );
- case(MAKE2): return set_param_data(ap,0 ,0,0,"" );
- case(P_INTERP): return set_param_data(ap,0 ,0,0,"" );
-
- case(P_TRANSPOSE): return set_param_data(ap,0 ,1,1,"d" );
- case(P_VIBRATO): return set_param_data(ap,0 ,2,2,"DD" );
- case(P_WRITE): return set_param_data(ap,0 ,0,0,"" );
- case(P_ZEROS): return set_param_data(ap,0 ,0,0,"" );
- case(PEAK): return set_param_data(ap,0 ,0,0,"" );
- case(PICK):
- switch(mode) {
- case(PIK_HARMS):
- case(PIK_OCTS):
- case(PIK_ODD_HARMS):
- return set_param_data(ap,0 ,2,1,"d0" );
- case(PIK_LINEAR):
- case(PIK_DISPLACED_HARMS):
- return set_param_data(ap,0 ,2,2,"dd" );
- }
- break;
- case(PITCH):
- if(!sloom) {
- switch(mode) {
- case(PICH_TO_BIN):
- return set_param_data(ap,OUT_PFILE ,0,0,"" );
- case(PICH_TO_BRK):
- return set_param_data(ap,OUT_PBRKFILE ,0,0,"" );
- }
- } else {
- return set_param_data(ap,0 ,0,0,"" );
- }
- break;
- case(PLUCK): return set_param_data(ap,0 ,1,1,"D" );
- case(PRINT): return set_param_data(ap,0 ,1,1,"d" );
- case(REPITCH): return set_param_data(ap,0 ,0,0,"" );
- case(REPITCHB): return set_param_data(ap,0 ,0,0,"" );
- case(REPORT): return set_param_data(ap,0 ,1,1,"i" );
- case(SCAT): return set_param_data(ap,0 ,1,1,"I" );
- case(SHIFT):
- switch(mode) {
- case(SHIFT_ALL):
- return set_param_data(ap,0 ,3,1,"D00" );
- case(SHIFT_ABOVE):
- case(SHIFT_BELOW):
- return set_param_data(ap,0 ,3,2,"DD0" );
- case(SHIFT_BETWEEN):
- case(SHIFT_OUTSIDE):
- return set_param_data(ap,0 ,3,3,"DDD" );
- }
- break;
- case(SHIFTP):
- switch(mode) {
- case(P_OCT_UP):
- case(P_OCT_DN):
- case(P_OCT_UP_AND_DN):
- return set_param_data(ap,0 ,3,1,"D00" );
- case(P_SHFT_UP):
- case(P_SHFT_DN):
- return set_param_data(ap,0 ,3,2,"DD0" );
- case(P_SHFT_UP_AND_DN):
- return set_param_data(ap,0 ,3,3,"DDD" );
- }
- break;
- case(SHUFFLE): return set_param_data(ap,SHUFFLE_DATA ,1,1,"i" );
- case(SPLIT): return set_param_data(ap,SPECSPLI_DATA ,0,0,"" );
- case(SPREAD): return set_param_data(ap,0 ,0,0,"" );
- case(STEP): return set_param_data(ap,0 ,1,1,"d" );
- case(STRETCH): return set_param_data(ap,0 ,3,3,"ddd" );
- case(SUM): return set_param_data(ap,0 ,0,0,"" );
- case(SUPR): return set_param_data(ap,0 ,1,1,"I" );
- case(S_TRACE):
- switch(mode) {
- case(TRC_ALL):
- return set_param_data(ap,0 ,3,1,"I00" );
- case(TRC_ABOVE):
- return set_param_data(ap,0 ,3,2,"ID0" );
- case(TRC_BELOW):
- return set_param_data(ap,0 ,3,2,"I0D" );
- case(TRC_BETWEEN):
- return set_param_data(ap,0 ,3,3,"IDD" );
- }
- break;
- case(TRACK):
- switch(mode) {
- case(TRK_TO_BIN):
- return set_param_data(ap,OUT_PFILE ,1,1,"d" );
- case(TRK_TO_BRK):
- return set_param_data(ap,OUT_PBRKFILE ,1,1,"d" );
- }
- break;
- case(TRNSF):
- switch(mode) {
- case(TRNS_RATIO):
- return set_param_data(ap,TRANSPOS_RATIO_OR_CONSTANT ,0,0,"" );
- case(TRNS_OCT):
- return set_param_data(ap,TRANSPOS_OCTAVE_OR_CONSTANT,0,0,"" );
- case(TRNS_SEMIT):
- return set_param_data(ap,TRANSPOS_SEMIT_OR_CONSTANT ,0,0,"" );
- case(TRNS_BIN):
- return set_param_data(ap,0 ,0,0,"" );
- }
- break;
- case(TRNSP):
- switch(mode) {
- case(TRNS_RATIO):
- return set_param_data(ap,TRANSPOS_RATIO_OR_CONSTANT ,0,0,"" );
- case(TRNS_OCT):
- return set_param_data(ap,TRANSPOS_OCTAVE_OR_CONSTANT,0,0,"" );
- case(TRNS_SEMIT):
- return set_param_data(ap,TRANSPOS_SEMIT_OR_CONSTANT ,0,0,"" );
- case(TRNS_BIN):
- return set_param_data(ap,0 ,0,0,"" );
- }
- break;
- case(TSTRETCH): return set_param_data(ap,0 ,1,1,"D" );
- case(TUNE):
- switch(mode) {
- case(TUNE_FRQ):
- return set_param_data(ap,FRQ_OR_FRQSET ,0,0,"" );
- case(TUNE_MIDI):
- return set_param_data(ap,PITCH_OR_PITCHSET ,0,0,"" );
- }
- break;
- case(VOCODE): return set_param_data(ap,0 ,0,0,"" );
- case(WARP): return set_param_data(ap,0 ,0,0,"" );
- case(WAVER):
- switch(mode) {
- case(WAVER_STANDARD):
- return set_param_data(ap,0 ,4,3,"DDd0" );
- case(WAVER_SPECIFIED):
- return set_param_data(ap,0 ,4,4,"DDdd" );
- }
- break;
- case(WEAVE): return set_param_data(ap,WEAVE_DATA ,0,0,"" );
- case(WINDOWCNT):return set_param_data(ap,0 ,0,0,"" );
- case(LIMIT): return set_param_data(ap,0 ,1,1,"D" );
- case(MULTRANS): return set_param_data(ap,SEMIT_TRANSPOS_SET ,0,0,"" );
- /* | |m| | | */
- /* | |a| | | */
- /* | |x| | | */
- /* | |p|p| | */
- /* | |a|a| | */
- /******** GROUCHO ********/ /* | special-data |r|r| param | */
- /* | |a|a| list | */
- /* | |m|m| | */
- /* | |c|c| | */
- /* | |n|n| | */
- /* | |t|t| | */
- case(DISTORT):
- switch(mode) {
- case(DISTORT_EXAGG):
- return set_param_data(ap,0 ,1,1,"D" );
- default: return set_param_data(ap,0 ,1,0,"0" );
- }
- break;
- case(DISTORT_ENV):
- switch(mode) {
- case(DISTORTE_USERDEF): /* 1 param + 0 variants: 2 INACTIVEs force internalparams to start at param[3] */
- return set_param_data(ap,DISTORT_ENVELOPE ,3,1,"I00" );
- case(DISTORTE_TROFFED): /* 2 params + 1 variant trof = param[1]: internals start at param[3] */
- return set_param_data(ap,0 ,2,2,"ID" );
- /* 1 param + 2 variants trof = param[1]: internals start at param[3] */
- default: return set_param_data(ap,0 ,1,1,"I" );
- }
- break;
- case(DISTORT_AVG): return set_param_data(ap,0 ,1,1,"I" );
- case(DISTORT_OMT): return set_param_data(ap,0 ,2,2,"Ii" );
-
- case(DISTORT_MLT): return set_param_data(ap,0 ,1,1,"I" );
- case(DISTORT_DIV): return set_param_data(ap,0 ,1,1,"I" );
- case(DISTORT_HRM): return set_param_data(ap,HARMONIC_DISTORT ,0,0,"" );
- case(DISTORT_FRC): return set_param_data(ap,0 ,2,2,"ID" );
- case(DISTORT_REV): return set_param_data(ap,0 ,1,1,"I" );
- case(DISTORT_SHUF):return set_param_data(ap,SHUFFLE_DATA ,0,0,"" );
- case(DISTORT_RPTFL):
- case(DISTORT_RPT2):
- case(DISTORT_RPT): return set_param_data(ap,0 ,1,1,"I" );
- case(DISTORT_INTP):return set_param_data(ap,0 ,1,1,"I" );
- case(DISTORT_DEL): return set_param_data(ap,0 ,1,1,"I" );
- case(DISTORT_RPL): return set_param_data(ap,0 ,1,1,"I" );
- case(DISTORT_TEL): return set_param_data(ap,0 ,1,1,"I" );
- case(DISTORT_FLT):
- switch(mode) {
- case(DISTFLT_HIPASS):
- return set_param_data(ap,0 ,2,1,"D0" );
- case(DISTFLT_LOPASS):
- return set_param_data(ap,0 ,2,1,"0D" );
- case(DISTFLT_BANDPASS):
- return set_param_data(ap,0 ,2,2,"DD" );
- }
- break;
- case(DISTORT_INT): return set_param_data(ap,0 ,0,0,"" );
- case(DISTORT_CYCLECNT):
- return set_param_data(ap,0 ,0,0,"" );
- case(DISTORT_PCH): return set_param_data(ap,0 ,1,1,"D" );
- case(DISTORT_OVERLOAD):
- switch(mode) {
- case(OVER_NOISE):
- return set_param_data(ap,0 ,3,2,"DD0" );
- case(OVER_SINE):
- return set_param_data(ap,0 ,3,3,"DDD" );
- }
- break;
- case(DISTORT_PULSED):
- switch(mode) {
- case(PULSE_IMP): return set_param_data(ap,PULSE_ENVELOPE ,9,8,"ddDddd0Dd");
- case(PULSE_SYN): return set_param_data(ap,PULSE_ENVELOPE ,9,9,"ddDddddDd");
- case(PULSE_SYNI): return set_param_data(ap,PULSE_ENVELOPE ,9,9,"idDdddiDd");
- }
- break;
- case(ZIGZAG):
- switch(mode) {
- case(ZIGZAG_SELF):
- return set_param_data(ap,0 ,4,4,"dddd" );
- case(ZIGZAG_USER):
- return set_param_data(ap,ZIGDATA ,4,0,"0000" );
- default:
- sprintf(errstr,"Unknown mode (%d) : ZIGZAG: set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(LOOP):
- switch(mode) {
- case(LOOP_ALL):
- return set_param_data(ap,0 ,5,3,"00ddd");
- case(LOOP_OUTLEN):
- return set_param_data(ap,0 ,4,3,"d0dd" );
- case(LOOP_RPTS):
- return set_param_data(ap,0 ,4,3,"0idd" );
- default:
- sprintf(errstr,"Unknown mode (%d) : LOOP: set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(SCRAMBLE): return set_param_data(ap,0 ,3,3,"ddd" );
- case(ITERATE):
- switch(mode) {
- case(ITERATE_DUR):
- return set_param_data(ap,0 ,1,1,"d" );
- case(ITERATE_REPEATS):
- return set_param_data(ap,0 ,1,1,"i" );
- default:
- sprintf(errstr,"Unknown mode (%d) : ITERATE: set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(ITERATE_EXTEND):
- switch(mode) {
- case(ITERATE_DUR):
- return set_param_data(ap,0 ,8,8,"dDDDDddd" );
- case(ITERATE_REPEATS):
- return set_param_data(ap,0 ,8,8,"iDDDDddd" );
- default:
- sprintf(errstr,"Unknown mode (%d) : ITERATE_EXTEND: set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(DRUNKWALK):
- switch(mode) {
- case(TOTALLY_PISSED):
- return set_param_data(ap,0 ,7,5,"dDDDD00");
- case(HAS_SOBER_MOMENTS):
- return set_param_data(ap,0 ,7,7,"dDDDDII");
- default:
- sprintf(errstr,"Unknown mode (%d) : DRUNKWALK: set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(SIMPLE_TEX): return set_param_data(ap,TEX_NOTEDATA ,26,13,"dDDDIIDDDDDDI0000000000000");
- case(GROUPS): return set_param_data(ap,TEX_NOTEDATA ,26,23,"dDDDIIDDDDDDDiDDiIIDDDD000");
- case(ORNATE): case(PREORNATE): case(POSTORNATE):
- return set_param_data(ap,TEX_NOTEDATA ,26,15,"dD00IIDDDD00DiDDi000000DD0");
- case(MOTIFS): case(MOTIFSIN):
- return set_param_data(ap,TEX_NOTEDATA ,26,17,"dDDDIIDD00DDDiDDi000000DD0");
- case(DECORATED): case(PREDECOR): case(POSTDECOR):
- return set_param_data(ap,TEX_NOTEDATA ,26,20,"dD00IIDDDD00DiDDiIIDDDD00i");
- case(TIMED): return set_param_data(ap,TEX_NOTEDATA ,26,10,"dD00IIDDDDDD00000000000000");
- case(TGROUPS): return set_param_data(ap,TEX_NOTEDATA ,26,21,"dD00IIDDDDDDDiDDiIIDDDD000");
- case(TMOTIFS): case(TMOTIFSIN):
- return set_param_data(ap,TEX_NOTEDATA ,26,15,"dD00IIDD00DDDiDDi000000DD0");
- case(GRAIN_COUNT): return set_param_data(ap,0 ,2,0,"00" );
- case(GRAIN_OMIT): return set_param_data(ap,0 ,2,2,"Ii" );
- case(GRAIN_DUPLICATE): return set_param_data(ap,0 ,2,1,"I0" );
- case(GRAIN_REORDER): return set_param_data(ap,GRAIN_REORDER_STRING ,2,0,"00" );
- case(GRAIN_REPITCH): return set_param_data(ap,GRAIN_PITCH_RATIOS ,2,0,"00" );
- case(GRAIN_RERHYTHM): return set_param_data(ap,GRAIN_TIME_RATIOS ,2,0,"00" );
- case(GRAIN_REMOTIF): return set_param_data(ap,GRAIN_TWO_RATIOS ,2,0,"00" );
- case(GRAIN_TIMEWARP): return set_param_data(ap,0 ,2,1,"D0" );
- case(GRAIN_REVERSE): return set_param_data(ap,0 ,2,0,"00" );
- case(GRAIN_GET): return set_param_data(ap,0 ,2,0,"00" );
- case(GRAIN_POSITION): return set_param_data(ap,GRAIN_TIMINGS ,2,1,"d0" );
- case(GRAIN_ALIGN): return set_param_data(ap,0 ,2,2,"dD" );
- case(ENV_CREATE):
- switch(mode) {
- case(ENV_ENVFILE_OUT): return set_param_data(ap,ENV_CREATEFILE ,4,1,"d000" );
- case(ENV_BRKFILE_OUT): return set_param_data(ap,ENV_CREATEFILE ,4,0,"0000" );
- default:
- sprintf(errstr,"Unknown mode (%d) for ENV_CREATE in set_legal_param_structure()\n",mode);
- return (PROGRAM_ERROR);
- }
- break;
- case(ENV_EXTRACT): return set_param_data(ap,0 ,4,1,"d000" );
-
- case(ENV_WARPING):
- case(ENV_REPLOTTING):
- switch(mode) {
- case(ENV_NORMALISE):
- case(ENV_REVERSE):
- case(ENV_CEILING):
- return set_param_data(ap,0 ,4,1,"d000" );
-
- case(ENV_EXAGGERATING):
- case(ENV_ATTENUATING):
- case(ENV_LIFTING): return set_param_data(ap,0 ,4,2,"dD00" );
-
- case(ENV_DUCKED):
- case(ENV_INVERTING):
- case(ENV_LIMITING):return set_param_data(ap,0 ,4,3,"dDD0" );
-
- case(ENV_TSTRETCHING): return set_param_data(ap,0 ,4,2,"dd00" );
- case(ENV_FLATTENING): return set_param_data(ap,0 ,4,2,"dI00" );
- case(ENV_GATING): return set_param_data(ap,0 ,4,3,"dD0i" );
- case(ENV_CORRUGATING): return set_param_data(ap,0 ,4,3,"dII0" );
- case(ENV_EXPANDING): return set_param_data(ap,0 ,4,4,"dDDi" );
- case(ENV_TRIGGERING): return set_param_data(ap,ENV_TRIGGER_RAMP ,4,4,"dDdd" );
- case(ENV_PEAKCNT): return set_param_data(ap,0 ,4,2,"d0I0" );
- default:
- sprintf(errstr,"Unknown mode (%d) for ENV_WARPING or REPLOTTING in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(ENV_RESHAPING):
- switch(mode) {
- case(ENV_NORMALISE):
- case(ENV_REVERSE):
- case(ENV_CEILING):
- return set_param_data(ap,0 ,4,0,"0000" );
-
- case(ENV_EXAGGERATING):
- case(ENV_ATTENUATING):
- case(ENV_LIFTING): return set_param_data(ap,0 ,4,1,"0D00" );
-
- case(ENV_DUCKED):
- case(ENV_INVERTING):
- case(ENV_LIMITING):return set_param_data(ap,0 ,4,2,"0DD0" );
-
- case(ENV_TSTRETCHING): return set_param_data(ap,0 ,4,1,"0d00" );
- case(ENV_FLATTENING): return set_param_data(ap,0 ,4,1,"0I00" );
- case(ENV_GATING): return set_param_data(ap,0 ,4,2,"0D0i" );
- case(ENV_CORRUGATING): return set_param_data(ap,0 ,4,2,"0II0" );
- case(ENV_EXPANDING): return set_param_data(ap,0 ,4,3,"0DDi" );
- case(ENV_TRIGGERING): return set_param_data(ap,ENV_TRIGGER_RAMP ,4,3,"0Ddd" );
- case(ENV_PEAKCNT): return set_param_data(ap,0 ,4,1,"00I0" );
- default:
- sprintf(errstr,"Unknown mode (%d) for ENV_RESHAPING in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- //TW NEW
- case(ENV_PROPOR): return set_param_data(ap,0 ,4,0,"0000" ); break;
- case(ENV_IMPOSE):
- switch(mode) {
- case(ENV_ENVFILE_IN):
- case(ENV_DB_BRKFILE_IN):
- case(ENV_BRKFILE_IN): return set_param_data(ap,0 ,4,0,"0000" );
- case(ENV_SNDFILE_IN): return set_param_data(ap,0 ,4,1,"d000" );
- default:
- sprintf(errstr,"Unknown mode (%d) for ENV_IMPOSE in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(ENV_REPLACE):
- switch(mode) {
- case(ENV_ENVFILE_IN): return set_param_data(ap,0 ,4,0,"0000" );
- case(ENV_BRKFILE_IN):
- case(ENV_DB_BRKFILE_IN):
- case(ENV_SNDFILE_IN): return set_param_data(ap,0 ,4,1,"d000" );
- default:
- sprintf(errstr,"Unknown mode (%d) for ENV_REPLACE in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(ENV_DOVETAILING):
- switch(mode) {
- case(DOVE): return set_param_data(ap,0 ,4,4,"ddii" );
- case(DOVEDBL): return set_param_data(ap,0 ,4,2,"dd00" );
- }
- break;
- case(ENV_SWELL): return set_param_data(ap,0 ,4,2,"d0i0" );
- case(ENV_ATTACK):
- switch(mode) {
- case(ENV_ATK_GATED): return set_param_data(ap,0 ,4,4,"dddd" );
- case(ENV_ATK_TIMED): return set_param_data(ap,0 ,4,4,"dddd" );
- case(ENV_ATK_XTIME): return set_param_data(ap,0 ,4,4,"dddd" );
- case(ENV_ATK_ATMAX): return set_param_data(ap,0 ,4,3,"0ddd" );
- default:
- sprintf(errstr,"Unknown mode (%d) for ENV_ATTACK in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(ENV_CURTAILING):
- switch(mode) {
- case(ENV_START_AND_END):
- case(ENV_START_AND_DUR): return set_param_data(ap,0 ,4,3,"ddi0" );
- case(ENV_START_ONLY): return set_param_data(ap,0 ,4,2,"d0i0" );
- case(ENV_START_AND_END_D):
- case(ENV_START_AND_DUR_D): return set_param_data(ap,0 ,4,2,"dd00" );
- case(ENV_START_ONLY_D): return set_param_data(ap,0 ,4,1,"d000" );
- default:
- sprintf(errstr,"Unknown mode (%d) for ENV_CURTAILING in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
-
- case(ENV_ENVTOBRK): return set_param_data(ap,0 ,4,0,"0000" );
- case(ENV_ENVTODBBRK): return set_param_data(ap,0 ,4,0,"0000" );
- case(ENV_BRKTOENV): return set_param_data(ap,0 ,4,1,"d000" );
- case(ENV_DBBRKTOENV): return set_param_data(ap,0 ,4,1,"d000" );
- case(ENV_DBBRKTOBRK): return set_param_data(ap,0 ,4,0,"0000" );
- case(ENV_BRKTODBBRK): return set_param_data(ap,0 ,4,0,"0000" );
- case(ENV_PLUCK): return set_param_data(ap,0 ,4,2,"ii00" );
- case(ENV_TREMOL): return set_param_data(ap,0 ,4,3,"DDD0" );
-
- case(MIX): return set_param_data(ap,0 ,0,0,"" );
- case(MIXTWO): return set_param_data(ap,0 ,0,0,"" );
- //TW NEW
- case(MIXMANY): return set_param_data(ap,0 ,0,0,"" );
- case(MIXBALANCE): return set_param_data(ap,0 ,0,0,"" );
- case(MIXCROSS): return set_param_data(ap,0 ,0,0,"" );
- case(MIXINTERL): return set_param_data(ap,0 ,0,0,"" );
- case(MIXINBETWEEN):
- switch(mode) {
- case(INBI_COUNT): return set_param_data(ap,0 ,1,1,"i" );
- case(INBI_RATIO): return set_param_data(ap,INBTWN_RATIOS ,1,0,"0" );
- default:
- sprintf(errstr,"Unknown mode (%d) for MIXINBETWEEN in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(MIXTEST): return set_param_data(ap,0 ,0,0,"" );
- case(MIXMAX): return set_param_data(ap,0 ,0,0,"" );
- case(MIXFORMAT): return set_param_data(ap,0 ,0,0,"" );
- case(MIXDUMMY): return set_param_data(ap,0 ,0,0,"" );
- case(MIXSYNC): return set_param_data(ap,0 ,0,0,"" );
- case(MIXSYNCATT): return set_param_data(ap,0 ,0,0,"" );
- case(MIXGAIN): return set_param_data(ap,0 ,2,1,"d0" );
- case(MIXTWARP):
- switch(mode) {
- case(MTW_REVERSE_T): case(MTW_REVERSE_NT):
- case(MTW_FREEZE_T): case(MTW_FREEZE_NT): case(MTW_TIMESORT):
- return set_param_data(ap,0 ,2,0,"00" );
- case(MTW_DOMINO): case(MTW_ADD_TO_TG): case(MTW_SCATTER):
- case(MTW_CREATE_TG_1): case(MTW_CREATE_TG_2): case(MTW_CREATE_TG_3): case(MTW_CREATE_TG_4):
- case(MTW_ENLARGE_TG_1): case(MTW_ENLARGE_TG_2): case(MTW_ENLARGE_TG_3): case(MTW_ENLARGE_TG_4):
- return set_param_data(ap,0 ,2,1,"d0" );
- default:
- sprintf(errstr,"Unknown mode (%d) for MIXTWARP in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(MIXSWARP):
- switch(mode) {
- case(MSW_TWISTALL):return set_param_data(ap,0 ,2,0,"00" );
- case(MSW_TWISTONE):return set_param_data(ap,0 ,2,1,"i0" );
-
- case(MSW_FIXED):
- case(MSW_NARROWED):return set_param_data(ap,0 ,2,1,"d0" );
-
- case(MSW_LEFTWARDS):
- case(MSW_RIGHTWARDS):
- case(MSW_RANDOM):
- case(MSW_RANDOM_ALT):
- return set_param_data(ap,0 ,2,2,"dd" );
- default:
- sprintf(errstr,"Unknown mode (%d) for MIXSWARP in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(MIXSHUFL):
- switch(mode) {
- case(MSH_DUPLICATE):
- case(MSH_REVERSE_N):
- case(MSH_SCATTER):
- case(MSH_FIXED_N):
- case(MSH_OMIT):
- case(MSH_OMIT_ALT):
- return set_param_data(ap,0 ,2,0,"00" );
- case(MSH_DUPL_AND_RENAME):
- return set_param_data(ap,SNDFILENAME ,2,0,"00" );
- default:
- sprintf(errstr,"Unknown mode (%d) for MIXSHUFL in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
-
- case(EQ):
- switch(mode) {
- case(FLT_LOSHELF):
- case(FLT_HISHELF): return set_param_data(ap,0 ,5,2,"0dd00" );
- case(FLT_PEAKING): return set_param_data(ap,0 ,5,3,"ddd00" );
- default:
- sprintf(errstr,"Unknown mode (%d) for EQ in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(LPHP): return set_param_data(ap,0 ,5,3,"0ddd0" );
- case(FSTATVAR): return set_param_data(ap,0 ,5,3,"DdD00" );
- case(FLTBANKN):
- switch(mode) {
- case(FLT_HARMONIC):
- case(FLT_ALTERNATE):
- case(FLT_SUBHARM): return set_param_data(ap,0 ,5,4,"Dddd0" );
- case(FLT_EQUALSPAN):return set_param_data(ap,0 ,5,5,"Ddddi" );
- case(FLT_LINOFFSET):return set_param_data(ap,0 ,5,5,"Ddddd" );
- case(FLT_EQUALINT):return set_param_data(ap,0 ,5,5,"Ddddd" );
- default:
- sprintf(errstr,"Unknown mode (%d) for FLTBANKN in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(FLTBANKC):
- switch(mode) {
- case(FLT_HARMONIC):
- case(FLT_ALTERNATE):
- case(FLT_SUBHARM): return set_param_data(ap,0 ,6,2,"00dd00" );
- case(FLT_EQUALSPAN):return set_param_data(ap,0 ,6,3,"00ddi0" );
- case(FLT_LINOFFSET):return set_param_data(ap,0 ,6,3,"00ddd0" );
- case(FLT_EQUALINT):return set_param_data(ap,0 ,6,3,"00ddd0" );
- default:
- sprintf(errstr,"Unknown mode (%d) for FLTBANKC in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(FLTBANKU): return set_param_data(ap,FILTERBANK ,5,2,"Dd000" );
- case(FLTBANKV): return set_param_data(ap,TIMEVARYING_FILTERBANK,3,2,"Dd0" );
- case(FLTBANKV2): return set_param_data(ap,TIMEVARY2_FILTERBANK ,3,2,"Dd0" );
- case(FLTITER): return set_param_data(ap,FILTERBANK ,6,4,"dddd00" );
- case(FLTSWEEP): return set_param_data(ap,0 ,5,5,"DdDDD" );
- case(ALLPASS): return set_param_data(ap,0 ,5,2,"0dD00" );
-
- case(MOD_LOUDNESS):
- switch(mode) {
- // case(LOUDNESS_GAIN): return set_param_data(ap,0 ,2,1, "d0");
- case(LOUDNESS_GAIN): return set_param_data(ap,0 ,2,1, "D0");
- // case(LOUDNESS_DBGAIN): return set_param_data(ap,0 ,2,1, "d0");
- case(LOUDNESS_DBGAIN): return set_param_data(ap,0 ,2,1, "D0");
- case(LOUDNESS_NORM): return set_param_data(ap,0 ,1,0, "0");
- case(LOUDNESS_SET): return set_param_data(ap,0 ,1,0, "0");
- case(LOUDNESS_BALANCE): return set_param_data(ap,0 ,2,0, "00");
- case(LOUDNESS_PHASE): return set_param_data(ap,0 ,0,0, "");
- case(LOUDNESS_LOUDEST): return set_param_data(ap,0 ,2,0, "00");
- case(LOUDNESS_EQUALISE): return set_param_data(ap,0 ,2,0, "00");
- case(LOUD_PROPOR): return set_param_data(ap,LOUDNESS ,2,0, "00");
- case(LOUD_DB_PROPOR): return set_param_data(ap,LOUDNESS ,2,0, "00");
- default:
- sprintf(errstr,"Unknown mode (%d) for MOD_LOUDNESS in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(MOD_SPACE):
- switch(mode) {
- case(MOD_PAN): return set_param_data(ap,0 ,1,1, "D");
- case(MOD_MIRROR): return set_param_data(ap,0 ,2,0, "00");
- case(MOD_MIRRORPAN): return set_param_data(ap,0 ,2,0, "00");
- case(MOD_NARROW): return set_param_data(ap,0 ,2,1, "d0");
- default:
- sprintf(errstr,"Unknown mode (%d) for MOD_SPACE in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- //TW NEW
- case(SCALED_PAN): return set_param_data(ap,0 ,1,1, "D");
- case(MOD_PITCH):
- switch(mode) {
- case(MOD_ACCEL): return set_param_data(ap,0 ,2,2, "dd");
- case(MOD_VIBRATO): return set_param_data(ap,0 ,2,2, "DD");
- default: return set_param_data(ap,0 ,1,1, "D");
- }
- break;
- case(MOD_REVECHO):
- switch(mode) {
- case(MOD_DELAY): return set_param_data(ap,0 ,8,4,"dDD0000d");
- case(MOD_VDELAY): return set_param_data(ap,0 ,8,8,"dddddddd");
- case(MOD_STADIUM): return set_param_data(ap,0 ,0,0,"");
- default:
- sprintf(errstr,"Unknown mode (%d) for MOD_REVECHO in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(MOD_RADICAL):
- switch(mode) {
- case(MOD_REVERSE): return set_param_data(ap,0 ,0,0,"");
- case(MOD_SHRED): return set_param_data(ap,0 ,2,2,"id");
- case(MOD_SCRUB): return set_param_data(ap,0 ,1,1,"d");
- case(MOD_LOBIT): return set_param_data(ap,0 ,2,2,"ii");
- case(MOD_LOBIT2): return set_param_data(ap,0 ,2,1,"i0");
- case(MOD_RINGMOD): return set_param_data(ap,0 ,1,1,"D");
- case(MOD_CROSSMOD): return set_param_data(ap,0 ,0,0,"");
- default:
- sprintf(errstr,"Unknown mode (%d) for MOD_RADICAL in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(BRASSAGE):
- switch(mode) {
- case(GRS_PITCHSHIFT): return set_param_data(ap,0 ,16,1, "00000D0000000000");
- case(GRS_TIMESTRETCH): return set_param_data(ap,0 ,16,1, "D000000000000000");
- case(GRS_REVERB): return set_param_data(ap,0 ,16,3, "0D000DD000000000");
- case(GRS_SCRAMBLE): return set_param_data(ap,0 ,16,1, "0000D00000000000");
- case(GRS_GRANULATE): return set_param_data(ap,0 ,16,1, "0D00000000000000");
- case(GRS_BRASSAGE): return set_param_data(ap,0 ,16,8, "DD00DDDDDD000000");
- case(GRS_FULL_MONTY): return set_param_data(ap,0 ,16,16,"DDDDDDDDDDDDDDDD");
- default:
- sprintf(errstr,"Unknown mode (%d) for BRASSAGE in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(SAUSAGE): return set_param_data(ap,0 ,16,16,"DDDDDDDDDDDDDDDD");
-
- case(PVOC_ANAL): return set_param_data(ap,0 ,0,0,"" );
- case(PVOC_SYNTH): return set_param_data(ap,0 ,2,0,"00" );
- case(PVOC_EXTRACT): return set_param_data(ap,0 ,0,0,"" );
-
- /* TEMPORARY TEST ROUTINE */
- case(WORDCNT): return set_param_data(ap,0 ,0,0,"" );
- /* TEMPORARY TEST ROUTINE */
-
- case(EDIT_CUT):
- switch(mode) {
- case(EDIT_SECS): return set_param_data(ap,0 ,2,2,"dd" );
- case(EDIT_SAMPS):
- case(EDIT_STSAMPS):return set_param_data(ap,0 ,2,2,"ii" );
- default:
- sprintf(errstr,"Unknown mode (%d) for EDIT_CUT in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- //TW NEW
- case(EDIT_CUTMANY): return set_param_data(ap,MANYCUTS ,1,1,"d" );
- case(STACK): return set_param_data(ap,STACKDATA ,5,5,"idddd" );
-
- case(EDIT_CUTEND):
- switch(mode) {
- case(EDIT_SECS): return set_param_data(ap,0 ,2,1,"d0" );
- case(EDIT_SAMPS):
- case(EDIT_STSAMPS):return set_param_data(ap,0 ,2,1,"i0" );
- default:
- sprintf(errstr,"Unknown mode (%d) for EDIT_CUTEND in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(EDIT_ZCUT):
- switch(mode) {
- case(EDIT_SECS): return set_param_data(ap,0 ,2,2,"dd" );
- case(EDIT_SAMPS):
- case(EDIT_STSAMPS):return set_param_data(ap,0 ,2,2,"ii" );
- default:
- sprintf(errstr,"Unknown mode (%d) for EDIT_ZCUT in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(MANY_ZCUTS): return set_param_data(ap,MANYCUTS ,0,0,"" );
- case(EDIT_EXCISE):
- switch(mode) {
- case(EDIT_SECS): return set_param_data(ap,0 ,2,2,"dd" );
- case(EDIT_SAMPS):
- case(EDIT_STSAMPS):return set_param_data(ap,0 ,2,2,"ii" );
- default:
- sprintf(errstr,"Unknown mode (%d) for EDIT_EXCISE in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
-
- case(EDIT_EXCISEMANY): return set_param_data(ap,EXCISE_TIMES ,2,0,"00" );
- case(INSERTSIL_MANY): return set_param_data(ap,EXCISE_TIMES ,2,0,"00" );
-
- case(EDIT_INSERT):
- switch(mode) {
- case(EDIT_SECS): return set_param_data(ap,0 ,2,1,"d0" );
- case(EDIT_SAMPS):
- case(EDIT_STSAMPS):return set_param_data(ap,0 ,2,1,"i0" );
- default:
- sprintf(errstr,"Unknown mode (%d) for EDIT_INSERT in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- //TW NEW
- case(EDIT_INSERT2): return set_param_data(ap,0 ,2,2,"dd" );
-
- case(EDIT_INSERTSIL):
- switch(mode) {
- case(EDIT_SECS): return set_param_data(ap,0 ,2,2,"dd" );
- case(EDIT_SAMPS):
- case(EDIT_STSAMPS):return set_param_data(ap,0 ,2,2,"ii" );
- default:
- sprintf(errstr,"Unknown mode (%d) for EDIT_INSERTSIL in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(EDIT_JOIN): return set_param_data(ap,0 ,2,0,"00" );
-
- case(HOUSE_COPY):
- switch(mode) {
- case(COPYSF): return set_param_data(ap,0 ,1,0,"0" );
- case(DUPL): return set_param_data(ap,0 ,1,1,"i" );
- default:
- sprintf(errstr,"Unknown mode (%d) for HOUSE_COPY in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(HOUSE_DEL): return set_param_data(ap,SNDFILENAME ,0,0,"" );
- case(HOUSE_CHANS):
- switch(mode) {
- case(HOUSE_CHANNEL): return set_param_data(ap,0 ,1,1,"i" );
- case(HOUSE_CHANNELS): return set_param_data(ap,0 ,0,0,"" );
- case(HOUSE_ZCHANNEL): return set_param_data(ap,0 ,1,1,"i" );
- case(STOM): return set_param_data(ap,0 ,0,0,"" );
- case(MTOS): return set_param_data(ap,0 ,0,0,"" );
- default:
- sprintf(errstr,"Unknown mode (%d) for HOUSE_CHANS in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(HOUSE_BUNDLE): return set_param_data(ap,0 ,0,0,"" );
- case(HOUSE_SORT):
- switch(mode) {
- case(BY_FILETYPE): return set_param_data(ap,0 ,3,0,"000" );
- case(BY_SRATE): return set_param_data(ap,0 ,3,0,"000" );
- case(BY_DURATION): return set_param_data(ap,0 ,3,3,"ddd" );
- case(BY_LOG_DUR): return set_param_data(ap,0 ,3,3,"ddd" );
- case(IN_DUR_ORDER): return set_param_data(ap,0 ,3,0,"000" );
- case(FIND_ROGUES): return set_param_data(ap,0 ,3,0,"000" );
- default:
- sprintf(errstr,"Unknown mode (%d) for HOUSE_SORT in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(HOUSE_SPEC):
- switch(mode) {
- case(HOUSE_RESAMPLE): return set_param_data(ap,0 ,1,1,"i" );
- default: return set_param_data(ap,0 ,0,0,"" );
- }
- break;
- case(HOUSE_EXTRACT):
- switch(mode) {
- case(HOUSE_RECTIFY): return set_param_data(ap,0 ,1,1,"d" );
- case(HOUSE_CUTGATE):
- case(HOUSE_CUTGATE_PREVIEW):
- case(HOUSE_TOPNTAIL): return set_param_data(ap,0 ,0,0,"" );
- case(HOUSE_ONSETS): return set_param_data(ap,0 ,9,7,"d0dd0iddi");
- case(HOUSE_BYHAND): return set_param_data(ap,BY_HAND ,0,0,"" );
- default:
- sprintf(errstr,"Unknown mode (%d) for HOUSE_EXTRACT in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(TOPNTAIL_CLICKS): return set_param_data(ap,0 ,2,2,"dd" );
- //TW NEW: REPLACING BRACKETED OUT CODE (Dump & Recover abandoned)
- case(HOUSE_BAKUP): return set_param_data(ap,0 ,0,0,"" );
- case(HOUSE_GATE): return set_param_data(ap,0 ,0,0,"" );
-
- case(HOUSE_DISK): return set_param_data(ap,0 ,0,0,"" );
-
- case(INFO_PROPS): return set_param_data(ap,0 ,0,0,"" );
- case(INFO_SFLEN): return set_param_data(ap,0 ,0,0,"" );
- case(INFO_TIMELIST): return set_param_data(ap,0 ,0,0,"" );
- case(INFO_LOUDLIST): return set_param_data(ap,0 ,0,0,"" );
- case(INFO_TIMESUM): return set_param_data(ap,0 ,0,0,"" );
- case(INFO_TIMEDIFF): return set_param_data(ap,0 ,0,0,"" );
- case(INFO_SAMPTOTIME): return set_param_data(ap,0 ,1,1,"i" );
- case(INFO_TIMETOSAMP): return set_param_data(ap,0 ,1,1,"d" );
- case(INFO_MAXSAMP): return set_param_data(ap,0 ,0,0,"" );
- case(INFO_MAXSAMP2): return set_param_data(ap,0 ,2,2,"dd" );
- case(INFO_LOUDCHAN): return set_param_data(ap,0 ,0,0,"" );
- case(INFO_FINDHOLE): return set_param_data(ap,0 ,0,0,"" );
- case(INFO_DIFF): return set_param_data(ap,0 ,0,0,"" );
- case(INFO_CDIFF): return set_param_data(ap,0 ,0,0,"" );
- case(INFO_PRNTSND): return set_param_data(ap,0 ,2,2,"dd" );
- case(INFO_MUSUNITS):
- switch(mode) {
- case(MU_MIDI_TO_FRQ): case(MU_FRQ_TO_MIDI): case(MU_FRQRATIO_TO_SEMIT):
- case(MU_FRQRATIO_TO_INTVL): case(MU_SEMIT_TO_FRQRATIO): case(MU_OCTS_TO_FRQRATIO):
- case(MU_OCTS_TO_SEMIT): case(MU_SEMIT_TO_OCTS): case(MU_SEMIT_TO_INTVL):
- case(MU_FRQRATIO_TO_TSTRETH): case(MU_SEMIT_TO_TSTRETCH): case(MU_OCTS_TO_TSTRETCH):
- case(MU_TSTRETCH_TO_FRQRATIO): case(MU_TSTRETCH_TO_SEMIT): case(MU_TSTRETCH_TO_OCTS):
- case(MU_TSTRETCH_TO_INTVL): case(MU_GAIN_TO_DB): case(MU_DB_TO_GAIN):
- case(MU_FRQRATIO_TO_OCTS): case(MU_MIDI_TO_NOTE): case(MU_FRQ_TO_NOTE):
- case(MU_FRQ_TO_DELAY): case(MU_MIDI_TO_DELAY): case(MU_TEMPO_TO_DELAY):
- case(MU_DELAY_TO_FRQ): case(MU_DELAY_TO_MIDI): case(MU_DELAY_TO_TEMPO):
- return set_param_data(ap,0 ,1,1,"d" );
- case(MU_NOTE_TO_FRQ):
- case(MU_NOTE_TO_MIDI):
- case(MU_NOTE_TO_DELAY):
- return set_param_data(ap,NOTE_REPRESENTATION ,0,0,"" );
- case(MU_INTVL_TO_FRQRATIO):
- case(MU_INTVL_TO_TSTRETCH):
- return set_param_data(ap,INTERVAL_REPRESENTATION ,0,0,"" );
- default:
- sprintf(errstr,"Unknown mode (%d) for MUSUNITS in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(SYNTH_WAVE): return set_param_data(ap,0 ,4,4,"iidD" );
- case(MULTI_SYN): return set_param_data(ap,CHORD_SYN ,4,3,"iid0" );
- case(SYNTH_NOISE): return set_param_data(ap,0 ,4,3,"iid0" );
- case(SYNTH_SIL): return set_param_data(ap,0 ,4,3,"iid0" );
- case(SYNTH_SPEC): return set_param_data(ap,0 ,7,7,"dDDDDDd" );
- case(RANDCUTS): return set_param_data(ap,0 ,2,2,"dd" );
- case(RANDCHUNKS): return set_param_data(ap,0 ,2,2,"id" );
- case(SIN_TAB): return set_param_data(ap,0 ,5,5,"DDddd" );
- case(ACC_STREAM): return set_param_data(ap,ATTACK_STREAM ,1,1,"D" );
- case(HF_PERM1):
- switch(mode) {
- case(HFP_SNDOUT): return set_param_data(ap,0 ,10,10,"idddiiiiii");
- case(HFP_SNDSOUT): return set_param_data(ap,0 ,10,9, "idd0iiiiii");
- case(HFP_TEXTOUT): return set_param_data(ap,0 ,10,6, "0000iiiiii");
- case(HFP_MIDIOUT): return set_param_data(ap,0 ,10,6, "0000iiiiii");
- default:
- sprintf(errstr,"Unknown mode (%d) for HF_PERM1 in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- case(HF_PERM2):
- switch(mode) {
- case(HFP_SNDOUT): return set_param_data(ap,0 ,10,6,"idddi0000i");
- case(HFP_SNDSOUT): return set_param_data(ap,0 ,10,5,"idd0i0000i");
- case(HFP_TEXTOUT): return set_param_data(ap,0 ,10,2,"0000i0000i");
- case(HFP_MIDIOUT): return set_param_data(ap,0 ,10,2,"0000i0000i");
- default:
- sprintf(errstr,"Unknown mode (%d) for HF_PERM2 in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(DEL_PERM): return set_param_data(ap,DELPERM ,3,3,"idi");
- case(DEL_PERM2): return set_param_data(ap,DELPERM2 ,3,1,"00i");
- case(TWIXT):
- switch(mode) {
- case(TRUE_EDIT): return set_param_data(ap,SWITCH_TIMES ,2,1,"d0");
- case(IN_SEQUENCE): return set_param_data(ap,SWITCH_TIMES ,2,1,"d0");
- case(RAND_REORDER): return set_param_data(ap,SWITCH_TIMES ,2,2,"di");
- case(RAND_SEQUENCE): return set_param_data(ap,SWITCH_TIMES ,2,2,"di");
- default:
- // sprintf(errstr,"Unknown mode (%d) for TWIXT in set_vflgs()\n",mode);
- sprintf(errstr,"Unknown mode (%d) for TWIXT in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(SPHINX):
- switch(mode) {
- case(IN_SEQUENCE): return set_param_data(ap,MANY_SWITCH_TIMES ,2,1,"d0");
- case(RAND_REORDER): return set_param_data(ap,MANY_SWITCH_TIMES ,2,2,"di");
- case(RAND_SEQUENCE): return set_param_data(ap,MANY_SWITCH_TIMES ,2,2,"di");
- default:
- // sprintf(errstr,"Unknown mode (%d) for SPHINX in set_vflgs()\n",mode);
- sprintf(errstr,"Unknown mode (%d) for SPHINX in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- //TW NEW
- case(MIX_ON_GRID): return set_param_data(ap,GRIDDED_MIX ,0,0,"");
- case(AUTOMIX): return set_param_data(ap,AUTO_MIX ,1,1,"D");
- case(NOISE_SUPRESS): return set_param_data(ap,0 ,4,4,"dddd");
- case(TIME_GRID): return set_param_data(ap,0 ,3,3,"iDD");
- case(SEQUENCER2): return set_param_data(ap,SEQUENCER2_VALUES ,1,1,"d");
- case(SEQUENCER): return set_param_data(ap,SEQUENCER_VALUES ,1,1,"d");
- case(CONVOLVE):
- switch(mode) {
- case(CONV_NORMAL): return set_param_data(ap,0 ,1,0,"0");
- case(CONV_TVAR): return set_param_data(ap,0 ,1,1,"D");
- default:
- sprintf(errstr,"Unknown mode (%d) for CONVOLVE in set_legal_param_structure()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
-
- case(BAKTOBAK): return set_param_data(ap,0 ,2,2,"dd");
- case(ADDTOMIX): return set_param_data(ap,0 ,0,0,"");
- case(MIX_PAN): return set_param_data(ap,0 ,1,1,"D");
- case(SHUDDER): return set_param_data(ap,0 ,8,8,"dDDDDDDD");
- case(MIX_AT_STEP): return set_param_data(ap,0 ,1,1,"d");
- case(FIND_PANPOS): return set_param_data(ap,0 ,1,1,"d");
- case(CLICK): return set_param_data(ap,CLICKTRACK ,0,0,"");
- case(DOUBLETS): return set_param_data(ap,0 ,2,2,"Di");
- case(SYLLABS): return set_param_data(ap,SYLLTIMES ,2,2,"dd");
- case(JOIN_SEQ): return set_param_data(ap,JOINSEQ ,2,0,"00");
- case(JOIN_SEQDYN): return set_param_data(ap,JOINSEQDYN ,2,0,"00");
- case(MAKE_VFILT): return set_param_data(ap,0 ,0,0,"");
- case(BATCH_EXPAND): return set_param_data(ap,BATCH ,3,3,"iii");
- case(MIX_MODEL): return set_param_data(ap,0 ,0,0,"");
- case(CYCINBETWEEN): return set_param_data(ap,0 ,2,2,"id");
- case(ENVSYN):
- switch(mode) {
- case(ENVSYN_USERDEF):
- return set_param_data(ap,ENVSYN_ENVELOPE ,6,4,"ddDd00" );
- default: return set_param_data(ap,0 ,6,6,"ddDdDD" );
- }
- break;
- case(RRRR_EXTEND):
- switch(mode) {
- case(0): return set_param_data(ap,0 ,11,10,"dddidiDD0DD");
- case(1): return set_param_data(ap,0 ,11,11,"dddidiDDiDD");
- case(2): return set_param_data(ap,0 ,11,4, "dd0id000000");
- }
- break;
- case(SSSS_EXTEND): return set_param_data(ap,0 ,4,4,"dddd");
- case(HOUSE_GATE2): return set_param_data(ap,0 ,5,5,"ddddd");
- case(GRAIN_ASSESS): return set_param_data(ap,0 ,2,0,"00" );
- case(ZCROSS_RATIO): return set_param_data(ap,0 ,0,0,"00" );
- case(GREV):
- switch(mode) {
- case(0): return set_param_data(ap,0 ,5,3,"ddI00");
- case(1): return set_param_data(ap,0 ,5,4,"ddII0");
- case(2): return set_param_data(ap,0 ,5,5,"ddIIi");
- case(3): return set_param_data(ap,0 ,5,5,"ddIIi");
- case(4): return set_param_data(ap,0 ,5,4,"ddID0");
- case(5): return set_param_data(ap,0 ,5,3,"ddI00");
- case(6): return set_param_data(ap,GRAIN_TIMINGS ,5,3,"ddI00");
- }
- break;
- /* | |m| | | */
- /* | |a| | | */
- /* | |x| | | */
- /* | |p|p| | */
- /* | |a|a| | */
- /* | special-data |r|r| param | */
- /* | |a|a| list | */
- /* | |m|m| | */
- /* | |c|c| | */
- /* | |n|n| | */
- /* | |t|t| | */
- default:
- sprintf(errstr,"Unknown process (%d) in set_legal_param_structure()\n",process);
- return(PROGRAM_ERROR);
- }
- return(FINISHED);
- }
- /************************** SET_LEGAL_OPTION_AND_VARIANT_STRUCTURE ***********/
- int set_legal_option_and_variant_structure(int process,int mode,aplptr ap)
- {
- /*| | | | |v| | */
- /*| |o| | |f|v| */
- /*|option|p| option |variant |l|p|variant*/
- /*|flags |t| list | flags |a|a|list */
- /*| |c| | |g|r| */
- /*| |n| | |c|a| */
- /*| |t| | |n|m| */
- /*| | | | |t|s| */
- switch(process) {
- case(ACCU): return set_vflgs(ap,"" ,0,"" ,"dg" ,2,2,"DD" );
- case(ALT): return set_vflgs(ap,"" ,0,"" ,"x" ,1,0,"0" );
- case(ARPE):
- switch(mode) {
- case(ON): case(BOOST): case(ABOVE_BOOST): case(BELOW_BOOST):
- return set_vflgs(ap,"plhba", 5,"dDDDD" ,"NsTK" ,4,2,"dI00" );
- //TW JULY 2006
- case(ABOVE): case(BELOW):
- return set_vflgs(ap,"plhba", 5,"dDD0D" ,"" ,0,0,"" );
- default: return set_vflgs(ap,"plhba", 5,"dDDDD" ,"" ,0,0,"" );
- }
- break;
- case(AVRG): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(BARE): return set_vflgs(ap,"" ,0,"" ,"x" ,1,0,"0" );
- case(BLTR): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(BLUR): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(BRIDGE): return set_vflgs(ap,"abcde" ,5,"ddddd" ,"fg" ,2,2,"dd" );
- case(CHANNEL): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(CHORD): return set_vflgs(ap,"" ,0,"" ,"btx" ,3,2,"DD0" );
- case(CHORUS): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(CLEAN): return set_vflgs(ap,"g" ,1,"d" ,"" ,0,0,"" );
- case(CROSS): return set_vflgs(ap,"" ,0,"" ,"i" ,1,1,"D" );
- case(CUT): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(DIFF): return set_vflgs(ap,"" ,0,"" ,"ca" ,2,1,"D0" );
- case(DRUNK): return set_vflgs(ap,"" ,0,"" ,"z" ,1,0,"0" );
- case(EXAG): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(FILT): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(FMNTSEE): return set_vflgs(ap,"" ,0,"" ,"v" ,1,0,"0" );
- case(FOCUS): return set_vflgs(ap,"bt" ,2,"DD" ,"s" ,1,1,"i" );
- case(FOLD): return set_vflgs(ap,"" ,0,"" ,"x" ,1,0,"0" );
- case(FORM): return set_vflgs(ap,"lhg" ,3,"ddd" ,"" ,0,0,"" );
- case(FORMANTS): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(FORMSEE): return set_vflgs(ap,"" ,0,"" ,"s" ,1,0,"0" );
- case(FREEZE): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(FREEZE2): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(FREQUENCY): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(GAIN): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(GLIDE): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(GLIS): return set_vflgs(ap,"" ,0,"" ,"t" ,1,1,"d" );
- case(GRAB): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(GREQ): return set_vflgs(ap,"" ,0,"" ,"r" ,1,0,"0" );
- case(INVERT): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(LEAF): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(LEVEL): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(MAGNIFY): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(MAKE): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(MAX): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(MEAN): return set_vflgs(ap,"lhc" ,3,"ddi" ,"z" ,1,0,"0" );
- case(MORPH): return set_vflgs(ap,"s" ,1,"d" ,"" ,0,0,"" );
- case(NOISE): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(OCT): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(OCTVU): return set_vflgs(ap,"" ,0,"" ,"f" ,1,1,"d" );
- case(P_APPROX): return set_vflgs(ap,"pts" ,3,"DDD" ,"" ,0,0,"" );
- case(P_CUT): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(P_EXAG): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(P_FIX): return set_vflgs(ap,"" ,0,"" ,"rxlhsbewi",9,7,"ddddidd00");
- case(P_HEAR): return set_vflgs(ap,"g" ,1,"d" ,"" ,0,0,"" );
- case(P_INFO): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(P_INVERT): return set_vflgs(ap,"" ,0,"" ,"mbt" ,3,3,"Ddd" );
- case(P_QUANTISE): return set_vflgs(ap,"" ,0,"" ,"o" ,1,0,"0" );
- case(P_RANDOMISE): return set_vflgs(ap,"" ,0,"" ,"s" ,1,1,"d" );
- case(P_SEE): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(P_SMOOTH): return set_vflgs(ap,"" ,0,"" ,"ph" ,2,1,"D0" );
- //TW NEW
- case(P_SYNTH): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(VFILT):
- case(P_VOWELS): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(P_GEN): return set_vflgs(ap,"co" ,2,"ii" ,"" ,0,0,"" );
- case(P_INSERT): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(P_SINSERT): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(P_PTOSIL): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(P_NTOSIL): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(ANALENV): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(P_BINTOBRK): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(MAKE2): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(P_INTERP): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
-
- case(P_TRANSPOSE): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(P_VIBRATO): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(P_WRITE): return set_vflgs(ap,"d" ,1,"d" ,"" ,0,0,"" );
- case(P_ZEROS): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(PEAK): return set_vflgs(ap,"ctf" ,3,"ddd" ,"h" ,1,0,"0" );
- case(PICK): return set_vflgs(ap,"c" ,1,"D" ,"" ,0,0,"" );
- case(PITCH):
- switch(mode) {
- case(PICH_TO_BIN):
- return set_vflgs(ap,"tgsnlh",6,"dididd" ,"az" ,2,0,"00" );
- case(PICH_TO_BRK):
- return set_vflgs(ap,"tgsnlhd",7,"dididdd","a" ,1,0,"0" );
- }
- break;
- case(PLUCK): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(PRINT): return set_vflgs(ap,"w" ,1,"i", "" ,0,0,"" );
- case(REPITCH): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(REPITCHB): return set_vflgs(ap,"d" ,1,"d" ,"" ,0,0,"" );
- case(REPORT): return set_vflgs(ap,"bts" ,3,"DDi" ,"" ,0,0,"" );
- case(SCAT): return set_vflgs(ap,"b" ,1,"D" ,"rn" ,2,0,"00" );
- case(SHIFT): return set_vflgs(ap,"" ,0,"" ,"l" ,1,0,"0" );
- case(SHIFTP): return set_vflgs(ap,"" ,0,"" ,"d" ,1,1,"D" );
- case(SHUFFLE): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(SPLIT): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(SPREAD): return set_vflgs(ap,"s" ,1,"D" ,"" ,0,0,"" );
- case(STEP): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(STRETCH): return set_vflgs(ap,"" ,0,"" ,"d" ,1,1,"D" );
- case(SUM): return set_vflgs(ap,"" ,0,"" ,"c" ,1,1,"D" );
- case(SUPR): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(S_TRACE):
- switch(mode) {
- case(TRC_ALL): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- default: return set_vflgs(ap,"" ,0,"" ,"r" ,1,0,"0" );
- }
- break;
- case(TRACK):
- switch(mode) {
- case(TRK_TO_BIN):
- return set_vflgs(ap,"tgsh" ,4,"didd" ,"" ,0,0,"" );
- case(TRK_TO_BRK):
- return set_vflgs(ap,"tgshd" ,5,"diddd" ,"" ,0,0,"" );
- }
- break;
- case(TRNSF): return set_vflgs(ap,"" ,0,"" ,"lhx" ,3,2,"DD0" );
- case(TRNSP): return set_vflgs(ap,"" ,0,"" ,"lhx" ,3,2,"DD0" );
- case(TSTRETCH): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(TUNE): return set_vflgs(ap,"fc" ,2,"DD" ,"tb" ,2,2,"ID" );
- case(VOCODE): return set_vflgs(ap,"lhg" ,3,"ddd" ,"" ,0,0,"" );
- case(WARP): return set_vflgs(ap,"pts" ,3,"DDD" ,"" ,0,0,"" );
- case(WAVER): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(WEAVE): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(WINDOWCNT): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(LIMIT): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(MULTRANS): return set_vflgs(ap,"" ,0,"" ,"btx" ,3,2,"DD0" );
-
- /************* GROUCHO **************/
- /************* GROUCHO **************/
- /************* GROUCHO **************/
-
- case(DISTORT): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(DISTORT_ENV):
- switch(mode) {
- case(DISTORTE_RISING):
- case(DISTORTE_FALLING): /* 1 param, 2 variants: param[1] = trof */
- return set_vflgs(ap,"" ,0,"" ,"te" ,2,2,"DD" );
- case(DISTORTE_TROFFED): /* 2 params, 1 variant: param[1] = trof */
- return set_vflgs(ap,"" ,0,"" ,"e" ,1,1,"D" );
- case(DISTORTE_USERDEF):
- return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- }
- break;
- case(DISTORT_AVG): return set_vflgs(ap,"m" ,1,"d" ,"s" ,1,1,"i" );
- case(DISTORT_OMT): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(DISTORT_MLT): return set_vflgs(ap,"" ,0,"" ,"s" ,1,0,"0" );
- case(DISTORT_DIV): return set_vflgs(ap,"" ,0,"" ,"i" ,1,0,"0" );
- case(DISTORT_HRM): return set_vflgs(ap,"" ,0,"" ,"p" ,1,1,"d" );
- case(DISTORT_FRC): return set_vflgs(ap,"" ,0,"" ,"p" ,1,1,"d" );
- case(DISTORT_REV): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(DISTORT_SHUF):return set_vflgs(ap,"c" ,1,"I" ,"s" ,1,1,"i" );
- case(DISTORT_RPT2):
- case(DISTORT_RPT): return set_vflgs(ap,"c" ,1,"I" ,"s" ,1,1,"i" );
- case(DISTORT_RPTFL): return set_vflgs(ap,"c" ,1,"I" ,"sf" ,2,2,"id" );
- case(DISTORT_INTP):return set_vflgs(ap,"" ,0,"" ,"s" ,1,1,"i" );
- case(DISTORT_DEL): return set_vflgs(ap,"" ,0,"" ,"s" ,1,1,"i" );
- case(DISTORT_RPL): return set_vflgs(ap,"" ,0,"" ,"s" ,1,1,"i" );
- case(DISTORT_TEL): return set_vflgs(ap,"" ,0,"" ,"sa" ,2,1,"i0" );
- case(DISTORT_FLT): return set_vflgs(ap,"" ,0,"" ,"s" ,1,1,"i" );
- case(DISTORT_INT): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(DISTORT_CYCLECNT):
- return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(DISTORT_PCH): return set_vflgs(ap,"cs" ,2,"Ii" ,"" ,0,0,"" );
- case(DISTORT_OVERLOAD):
- return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- //TW NEW
- case(DISTORT_PULSED):
- return set_vflgs(ap,"" ,0,"" ,"se" ,2,0,"00" );
-
- case(ZIGZAG):
- switch(mode) {
- case(ZIGZAG_SELF):
- return set_vflgs(ap,"sm" ,2,"dd" ,"r" ,1,1,"i" );
- case(ZIGZAG_USER):
- return set_vflgs(ap,"s" ,1,"d" ,"" ,0,0,"" );
- default:
- sprintf(errstr,"Unknown mode (%d) : ZIGZAG: set_vflgs()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(LOOP):
- switch(mode) {
- case(LOOP_ALL):
- return set_vflgs(ap,"ws" ,2,"dd" ,"b" ,1,0,"0" );
- case(LOOP_OUTLEN):
- case(LOOP_RPTS):
- return set_vflgs(ap,"lws" ,3,"ddd" ,"b" ,1,0,"0" );
- default:
- sprintf(errstr,"Unknown mode (%d) : LOOP: set_vflgs()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(SCRAMBLE): return set_vflgs(ap,"w" ,1,"d" ,"sbe" ,3,1,"i00" );
- case(ITERATE): return set_vflgs(ap,"" ,0,"" ,"drpafgs" ,7,7,"DDDDDdi");
- case(ITERATE_EXTEND): return set_vflgs(ap,"" ,0,"" ,"s" ,1,1,"i");
- case(DRUNKWALK):
- switch(mode) {
- case(TOTALLY_PISSED):
- return set_vflgs(ap,"s" ,1,"d" ,"cor" ,3,3,"DDi" );
- case(HAS_SOBER_MOMENTS):
- return set_vflgs(ap,"s" ,1,"d" ,"corlh" ,5,5,"DDiDD" );
- default:
- sprintf(errstr,"Unknown mode (%d) : DRUNKWALK: set_vflgs()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
-
- case(DECORATED): case(PREDECOR): case(POSTDECOR):
- return set_vflgs(ap,"aps" ,3,"DDD" ,"rwdihek",7,1,"i000000");
- case(ORNATE): case(PREORNATE): case(POSTORNATE):
- return set_vflgs(ap,"aps" ,3,"DDD" ,"rwdihe" ,6,1,"i00000");
- case(MOTIFS): case(TMOTIFS):
- case(MOTIFSIN): case(TMOTIFSIN):
- return set_vflgs(ap,"aps" ,3,"DDD" ,"rwdi" ,4,1,"i000" );
- case(GROUPS): case(TGROUPS):
- return set_vflgs(ap,"aps" ,3,"DDD" ,"rwdi" ,4,1,"i000" );
- case(SIMPLE_TEX):case(TIMED):
- return set_vflgs(ap,"aps" ,3,"DDD" ,"rwcp" ,4,1,"i000" );
-
- case(GRAIN_COUNT): case(GRAIN_OMIT): case(GRAIN_REPITCH): case(GRAIN_TIMEWARP):
- case(GRAIN_GET): case(GRAIN_DUPLICATE): case(GRAIN_RERHYTHM): case(GRAIN_ALIGN):
- case(GRAIN_POSITION): case(GRAIN_REORDER): case(GRAIN_REMOTIF): case(GRAIN_REVERSE):
- return set_vflgs(ap,"blh" ,3,"dDd" ,"tx" ,2,1,"d0" );
-
- case(ENV_EXTRACT):
- switch(mode) {
- case(ENV_ENVFILE_OUT):
- return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(ENV_BRKFILE_OUT):
- return set_vflgs(ap,"d" ,1,"d" ,"" ,0,0,"" );
- default:
- sprintf(errstr,"Unknown mode (%d) for ENV_EXTRACT: set_vflgs()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(ENV_CREATE): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(ENV_WARPING): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(ENV_RESHAPING): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(ENV_REPLOTTING): return set_vflgs(ap,"d" ,1,"d" ,"" ,0,0,"" );
- case(ENV_IMPOSE): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- //TW NEW
- case(ENV_PROPOR): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(ENV_REPLACE): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(ENV_DOVETAILING): return set_vflgs(ap,"t" ,1,"i" ,"" ,0,0,"" );
- case(ENV_CURTAILING): return set_vflgs(ap,"t" ,1,"i" ,"" ,0,0,"" );
- case(ENV_ENVTOBRK): return set_vflgs(ap,"d" ,1,"d" ,"" ,0,0,"" );
- case(ENV_ENVTODBBRK): return set_vflgs(ap,"d" ,1,"d" ,"" ,0,0,"" );
- case(ENV_BRKTOENV): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(ENV_DBBRKTOENV): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(ENV_DBBRKTOBRK): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(ENV_BRKTODBBRK): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(ENV_SWELL): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(ENV_ATTACK): return set_vflgs(ap,"t" ,1,"i" ,"" ,0,0,"" );
- case(ENV_PLUCK): return set_vflgs(ap,"ad",2,"id" ,"" ,0,0,"" );
- case(ENV_TREMOL): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
-
- case(MIX): return set_vflgs(ap,"seg",3,"ddd" ,"a" ,1,0,"0" );
- case(MIXTWO): return set_vflgs(ap,"sjkbe",5,"ddddd","" ,0,0,"" );
- //TW NEW
- case(MIXMANY): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(MIXBALANCE): return set_vflgs(ap,"kbe",3,"Ddd" ,"" ,0,0,"" );
- case(MIXINTERL): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(MIXINBETWEEN): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(MIXCROSS):
- switch(mode) {
- case(MCLIN): return set_vflgs(ap,"sbe" ,3,"ddd" ,"" ,0,0,"" );
- case(MCCOS): return set_vflgs(ap,"sbep",4,"dddd","" ,0,0,"" );
- }
- break;
- case(MIXTEST): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(MIXMAX): return set_vflgs(ap,"se",2,"dd" ,"" ,0,0,"" );
- case(MIXFORMAT): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(MIXDUMMY): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(MIXSYNC): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(MIXSYNCATT): return set_vflgs(ap,"w" ,1,"i" ,"p" ,1,0,"0" );
- case(MIXTWARP):
- switch(mode) {
- case(MTW_TIMESORT):return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- default: return set_vflgs(ap,"se",2,"ii" ,"" ,0,0,"" );
- }
- case(MIXSWARP):
- switch(mode) {
- case(MSW_TWISTALL):
- case(MSW_TWISTONE):return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- default: return set_vflgs(ap,"se",2,"ii" ,"" ,0,0,"" );
- }
- break;
- case(MIXGAIN): return set_vflgs(ap,"se",2,"ii" ,"" ,0,0,"" );
- case(MIXSHUFL):
- switch(mode) {
- case(MSH_DUPL_AND_RENAME):
- return set_vflgs(ap,"se",2,"ii" ,"x" ,1,0,"0" );
- default:
- return set_vflgs(ap,"se",2,"ii" ,"" ,0,0,"" );
- }
- break;
-
- /*RWD May 2004 added t and a "d" to all filters ... correct? */
- case(EQ): return set_vflgs(ap,"ts" ,2,"dd" ,"" ,0,0,"" );
- case(LPHP): return set_vflgs(ap,"ts" ,2,"dd" ,"" ,0,0,"" );
- case(FSTATVAR): return set_vflgs(ap,"t" ,1,"d" ,"" ,0,0,"" );
- case(FLTBANKN): return set_vflgs(ap,"ts" ,2,"dd" ,"d" ,1,0,"0" );
- case(FLTBANKC): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(FLTBANKU): return set_vflgs(ap,"t" ,1,"d" ,"d" ,1,0,"0" );
- case(FLTBANKV): return set_vflgs(ap,"thr" ,3,"did" ,"don" ,3,0,"000" );
- case(FLTBANKV2): return set_vflgs(ap,"t" ,1,"d" ,"dn" ,2,0,"00" );
- case(FLTITER): return set_vflgs(ap,"srpa",4,"ddDD" ,"dien" ,4,0,"0000");
- case(FLTSWEEP): return set_vflgs(ap,"tp" ,2,"dd" ,"" ,0,0,"" );
- case(ALLPASS): return set_vflgs(ap,"ts" ,2,"dd" ,"l" ,1,0,"0" );
-
- case(MOD_LOUDNESS):
- switch(mode) {
- case(LOUDNESS_GAIN): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(LOUDNESS_DBGAIN): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(LOUDNESS_NORM): return set_vflgs(ap,"l" ,1,"d" ,"" ,0,0,"" );
- case(LOUDNESS_SET): return set_vflgs(ap,"l" ,1,"d" ,"" ,0,0,"" );
- case(LOUDNESS_BALANCE): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(LOUDNESS_PHASE): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(LOUDNESS_LOUDEST): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(LOUDNESS_EQUALISE): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(LOUD_PROPOR): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(LOUD_DB_PROPOR): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- default:
- sprintf(errstr,"Unknown mode (%d) for MOD_LOUDNESS in set_vflgs()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(MOD_SPACE):
- switch(mode) {
- case(MOD_PAN): return set_vflgs(ap,"p" ,1,"d" ,"" ,0,0,"" );
- case(MOD_MIRROR): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(MOD_MIRRORPAN): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(MOD_NARROW): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- default:
- sprintf(errstr,"Unknown mode (%d) for MOD_SPACE in set_vflgs()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- //TW NEW
- case(SCALED_PAN): return set_vflgs(ap,"p" ,1,"d" ,"" ,0,0,"" );
- case(MOD_PITCH):
- switch(mode) {
- case(MOD_ACCEL): return set_vflgs(ap,"s" ,1,"d" ,"" ,0,0,"" );
- case(MOD_VIBRATO): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- default: return set_vflgs(ap,"" ,0,"" ,"o" ,1,0,"0" );
- }
- break;
- case(MOD_REVECHO):
- switch(mode) {
- case(MOD_DELAY): return set_vflgs(ap,"p" ,1,"d" ,"i" ,1,0,"0" );
- case(MOD_VDELAY): return set_vflgs(ap,"p" ,1,"d" ,"s" ,1,1,"i" );
- case(MOD_STADIUM): return set_vflgs(ap,"grse",4,"dddi" ,"n" ,1,0,"0" );
- default:
- sprintf(errstr,"Unknown mode (%d) for MOD_REVECHO in set_vflgs()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(MOD_RADICAL):
- switch(mode) {
- case(MOD_REVERSE): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(MOD_SHRED): return set_vflgs(ap,"s" ,1,"d" ,"n" ,1,0,"0" );
- case(MOD_SCRUB): return set_vflgs(ap,"hlse",4,"dddd" ,"f" ,1,0,"0" );
- case(MOD_LOBIT):
- case(MOD_LOBIT2): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(MOD_RINGMOD): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(MOD_CROSSMOD): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- default:
- sprintf(errstr,"Unknown mode (%d) for MOD_RADICAL in set_vflgs()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(BRASSAGE):
- switch(mode) {
- case(GRS_PITCHSHIFT): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(GRS_TIMESTRETCH):return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(GRS_REVERB): return set_vflgs(ap,"r" ,1,"D" ,"" ,0,0,"" );
- case(GRS_SCRAMBLE): return set_vflgs(ap,"r" ,1,"D" ,"" ,0,0,"" );
- case(GRS_GRANULATE): return set_vflgs(ap,"" ,0,"" ,"d" ,1,0,"0" );
- case(GRS_BRASSAGE): return set_vflgs(ap,"rjlc",4,"DDdi" ,"dxn" ,3,0,"000" );
- case(GRS_FULL_MONTY): return set_vflgs(ap,"rjlc",4,"DDdi" ,"dxn" ,3,0,"000" );
- default:
- sprintf(errstr,"Unknown mode (%d) for BRASSAGE in set_vflgs()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(SAUSAGE): return set_vflgs(ap,"rjlc",4,"DDdi" ,"dxn" ,3,0,"000" );
-
- case(PVOC_ANAL): return set_vflgs(ap,"co" ,2,"ii" ,"" ,0,0,"" );
- case(PVOC_SYNTH): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(PVOC_EXTRACT): return set_vflgs(ap,"co" ,2,"ii" ,"dlh" ,3,3,"iii" );
-
- /* TEMPORARY TEST ROUTINE */
- case(WORDCNT): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- /* TEMPORARY TEST ROUTINE */
-
-
- case(EDIT_CUT): return set_vflgs(ap,"w" ,1,"d" ,"" ,0,0,"" );
- //TW NEW
- case(EDIT_CUTMANY): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(STACK): return set_vflgs(ap,"" ,0,"" ,"sn" ,2,0,"00" );
-
- case(EDIT_CUTEND): return set_vflgs(ap,"w" ,1,"d" ,"" ,0,0,"" );
- case(MANY_ZCUTS): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(EDIT_ZCUT): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(EDIT_EXCISE): return set_vflgs(ap,"w" ,1,"d" ,"" ,0,0,"" );
- case(EDIT_EXCISEMANY): return set_vflgs(ap,"w" ,1,"d" ,"" ,0,0,"" );
- case(INSERTSIL_MANY): return set_vflgs(ap,"w" ,1,"d" ,"" ,0,0,"" );
- case(EDIT_INSERT): return set_vflgs(ap,"wl" ,2,"dd" ,"o" ,1,0,"0" );
- //TW NEW
- case(EDIT_INSERT2): return set_vflgs(ap,"wl" ,2,"dd" ,"" ,0,0,"" );
- case(EDIT_INSERTSIL): return set_vflgs(ap,"w" ,1,"d" ,"os" ,2,0,"00" );
- case(EDIT_JOIN): return set_vflgs(ap,"w" ,1,"d" ,"be" ,2,0,"00" );
- case(HOUSE_COPY):
- switch(mode) {
- case(COPYSF): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(DUPL):
- if(!sloom)
- return set_vflgs(ap,"" ,0,"" ,"i" ,1,0,"0" );
- else
- return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"0" );
- default:
- sprintf(errstr,"Unknown mode (%d) : for HOUSE_COPY in set_vflgs()\n", mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(HOUSE_DEL): return set_vflgs(ap,"" ,0,"" ,"a" ,1,0,"0" );
- case(HOUSE_CHANS):
- switch(mode) {
- case(HOUSE_CHANNEL): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(HOUSE_CHANNELS): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(HOUSE_ZCHANNEL): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(STOM): return set_vflgs(ap,"" ,0,"" ,"p" ,1,0,"0" );
- case(MTOS): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- default:
- sprintf(errstr,"Unknown mode (%d) for HOUSE_CHANS in set_vflgs()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(HOUSE_BUNDLE): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(HOUSE_SORT):
- switch(mode) {
- case(BY_FILETYPE): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(BY_SRATE): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(BY_DURATION): return set_vflgs(ap,"" ,0,"" ,"l" ,1,0,"0" );
- case(BY_LOG_DUR): return set_vflgs(ap,"" ,0,"" ,"l" ,1,0,"0" );
- case(IN_DUR_ORDER): return set_vflgs(ap,"" ,0,"" ,"l" ,1,0,"0" );
- case(FIND_ROGUES): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- default:
- sprintf(errstr,"Unknown mode (%d) for HOUSE_SORT in set_vflgs()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(HOUSE_SPEC):
- switch(mode) {
- case(HOUSE_RESAMPLE): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(HOUSE_CONVERT): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- #ifdef NOTDEF
- case(HOUSE_REPROP): return set_vflgs(ap,"sct",3,"iii" ,"" ,0,0,"" );
- #else
- /*RWD May 2005 removed -t option */
- case(HOUSE_REPROP): return set_vflgs(ap,"sc",2,"ii" ,"" ,0,0,"" );
- #endif
- default:
- sprintf(errstr,"Unknown mode (%d) for HOUSE_SPEC in set_vflgs()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(HOUSE_EXTRACT):
- switch(mode) {
- case(HOUSE_CUTGATE):
- if(sloom)
- return set_vflgs(ap,"gsethbilw",9,"diddiiddi","",0,0,"0");
- else
- return set_vflgs(ap,"gsethbilw",9,"diddiiddi","n",1,0,"0");
- case(HOUSE_CUTGATE_PREVIEW):
- return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(HOUSE_ONSETS): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(HOUSE_TOPNTAIL): return set_vflgs(ap,"gs" ,2,"dd" ,"be" ,2,0,"00" );
- case(HOUSE_RECTIFY): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(HOUSE_BYHAND): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- default:
- sprintf(errstr,"Unknown mode (%d) for HOUSE_SPEC in set_vflgs()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(TOPNTAIL_CLICKS): return set_vflgs(ap,"" ,0,"" ,"be" ,2,0,"00" );
- case(HOUSE_BAKUP): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(HOUSE_GATE): return set_vflgs(ap,"z" ,1,"i" ,"" ,0,0,"" );
-
- case(HOUSE_DISK): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
-
- case(INFO_PROPS): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(INFO_SFLEN): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(INFO_TIMELIST): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(INFO_LOUDLIST): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(INFO_TIMESUM): return set_vflgs(ap,"s" ,1,"d" ,"" ,0,0,"" );
- case(INFO_TIMEDIFF): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(INFO_SAMPTOTIME): return set_vflgs(ap,"" ,0,"" ,"g" ,1,0,"0" );
- case(INFO_TIMETOSAMP): return set_vflgs(ap,"" ,0,"" ,"g" ,1,0,"0" );
- case(INFO_MAXSAMP): return set_vflgs(ap,"" ,0,"" ,"f" ,1,0,"0" );
- case(INFO_MAXSAMP2): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(INFO_LOUDCHAN): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(INFO_FINDHOLE): return set_vflgs(ap,"t" ,1,"d" ,"" ,0,0,"" );
- case(INFO_DIFF): return set_vflgs(ap,"tn" ,2,"di" ,"lc" ,2,0,"00" );
- case(INFO_CDIFF): return set_vflgs(ap,"tn" ,2,"di" ,"" ,0,0,"" );
- case(INFO_PRNTSND): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(INFO_MUSUNITS): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
-
- case(MULTI_SYN): return set_vflgs(ap,"at" ,2,"di" ,"" ,0,0,"" );
- case(SYNTH_WAVE): return set_vflgs(ap,"at" ,2,"Di" ,"f" ,1,0,"0" );
- case(SYNTH_NOISE): return set_vflgs(ap,"a" ,1,"D" ,"f" ,1,0,"0" );
- case(SYNTH_SIL): return set_vflgs(ap,"" ,0,"" ,"f" ,1,0,"0" );
- case(SYNTH_SPEC): return set_vflgs(ap,"" ,0,"" ,"p" ,1,0,"0" );
- case(RANDCUTS): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(RANDCHUNKS): return set_vflgs(ap,"m" ,1,"d" ,"ls" ,2,0,"00" );
- case(SIN_TAB): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(ACC_STREAM): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(HF_PERM1): return set_vflgs(ap,"" ,0,"" ,"msao" ,4,0,"0000" );
- case(HF_PERM2): return set_vflgs(ap,"" ,0,"" ,"msao" ,4,0,"0000" );
- case(DEL_PERM): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"0000" );
- case(DEL_PERM2): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"0000" );
- case(TWIXT):
- switch(mode) {
- case(TRUE_EDIT): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(IN_SEQUENCE): return set_vflgs(ap,"w" ,1,"i" ,"r" ,1,0,"0" );
- case(RAND_REORDER): return set_vflgs(ap,"w" ,1,"i" ,"r" ,1,0,"0" );
- case(RAND_SEQUENCE): return set_vflgs(ap,"w" ,1,"i" ,"r" ,1,0,"0" );
- default:
- sprintf(errstr,"Unknown mode (%d) for TWIXT in set_vflgs()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- case(SPHINX):
- switch(mode) {
- case(IN_SEQUENCE): return set_vflgs(ap,"w" ,1,"i" ,"r" ,1,0,"0" );
- case(RAND_REORDER): return set_vflgs(ap,"w" ,1,"i" ,"r" ,1,0,"0" );
- case(RAND_SEQUENCE): return set_vflgs(ap,"w" ,1,"i" ,"r" ,1,0,"0" );
- default:
- sprintf(errstr,"Unknown mode (%d) for SPHINX in set_vflgs()\n",mode);
- return(PROGRAM_ERROR);
- }
- break;
- //TW NEW
- case(MIX_ON_GRID): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(AUTOMIX): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(NOISE_SUPRESS): return set_vflgs(ap,"" ,0,"" ,"n" ,1,0,"0" );
- case(TIME_GRID): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(SEQUENCER2): return set_vflgs(ap,"" ,0,"" ,"s" ,1,1,"d" );
- case(SEQUENCER): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(CONVOLVE): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(BAKTOBAK): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(ADDTOMIX): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(MIX_PAN): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(SHUDDER): return set_vflgs(ap,"" ,0,"" ,"b" ,1,0,"0" );
- case(MIX_AT_STEP): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(FIND_PANPOS): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(CLICK):
- switch(mode) {
- case(CLICK_BY_TIME): return set_vflgs(ap,"sez" ,3,"ddi" ,"t" ,1,0,"0" );
- case(CLICK_BY_LINE): return set_vflgs(ap,"sez" ,3,"iii" ,"t" ,1,0,"0" );
- }
- break;
- case(DOUBLETS): return set_vflgs(ap,"" ,0,"" ,"s" ,1,0,"0" );
- case(SYLLABS): return set_vflgs(ap,"" ,0,"" ,"p" ,1,0,"0" );
- case(JOIN_SEQDYN): return set_vflgs(ap,"w" ,1,"i" ,"be" ,2,0,"00" );
- case(JOIN_SEQ): return set_vflgs(ap,"wm" ,2,"di" ,"be" ,2,0,"00" );
- case(MAKE_VFILT): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(BATCH_EXPAND): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(MIX_MODEL): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(CYCINBETWEEN): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(ENVSYN): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(RRRR_EXTEND):
- switch(mode) {
- case(0): return set_vflgs(ap,"" ,0,"" ,"se" ,2,0,"00" );
- case(1): return set_vflgs(ap,"" ,0,"" ,"se" ,2,0,"00" );
- case(2): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- }
- break;
- case(SSSS_EXTEND): return set_vflgs(ap,"g" ,1,"d" ,"x" ,1,0,"0" );
- case(HOUSE_GATE2): return set_vflgs(ap,"" ,0,"" ,"s" ,1,0,"0" );
- case(GRAIN_ASSESS): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
- case(ZCROSS_RATIO): return set_vflgs(ap,"se" ,2,"dd" ,"" ,0,0,"" );
- case(GREV): return set_vflgs(ap,"" ,0,"" ,"" ,0,0,"" );
-
- /*| | | | |v| | */
- /*| |o| | |f|v| */
- /*|option|p| option |variant |l|p|variant*/
- /*|flags |t| list | flags |a|a|list */
- /*| |c| | |g|r| */
- /*| |n| | |c|a| */
- /*| |t| | |n|m| */
- /*| | | | |t|s| */
- }
- sprintf(errstr,"Unknown process %d: set_vflgs()\n",process);
- return(PROGRAM_ERROR);
- }
- /****************************** SET_VFLGS *********************************/
- int set_vflgs
- (aplptr ap,char *optflags,int optcnt,char *optlist,char *varflags,int vflagcnt, int vparamcnt,char *varlist)
- {
- ap->option_cnt = (char) optcnt; /*RWD added cast */
- if(optcnt) {
- if((ap->option_list = (char *)malloc((size_t)(optcnt+1)))==NULL) {
- sprintf(errstr,"INSUFFICIENT MEMORY: for option_list\n");
- return(MEMORY_ERROR);
- }
- strcpy(ap->option_list,optlist);
- if((ap->option_flags = (char *)malloc((size_t)(optcnt+1)))==NULL) {
- sprintf(errstr,"INSUFFICIENT MEMORY: for option_flags\n");
- return(MEMORY_ERROR);
- }
- strcpy(ap->option_flags,optflags);
- }
- ap->vflag_cnt = (char) vflagcnt;
- ap->variant_param_cnt = (char) vparamcnt;
- if(vflagcnt) {
- if((ap->variant_list = (char *)malloc((size_t)(vflagcnt+1)))==NULL) {
- sprintf(errstr,"INSUFFICIENT MEMORY: for variant_list\n");
- return(MEMORY_ERROR);
- }
- strcpy(ap->variant_list,varlist);
- if((ap->variant_flags = (char *)malloc((size_t)(vflagcnt+1)))==NULL) {
- sprintf(errstr,"INSUFFICIENT MEMORY: for variant_flags\n");
- return(MEMORY_ERROR);
- }
- strcpy(ap->variant_flags,varflags);
- }
- return(FINISHED);
- }
- /****************************** SET_PARAM_DATA *********************************/
- int set_param_data(aplptr ap, int special_data,int maxparamcnt,int paramcnt,char *paramlist)
- {
- ap->special_data = (char)special_data;
- ap->param_cnt = (char)paramcnt;
- ap->max_param_cnt = (char)maxparamcnt;
- if(ap->max_param_cnt>0) {
- if((ap->param_list = (char *)malloc((size_t)(ap->max_param_cnt+1)))==NULL) {
- sprintf(errstr,"INSUFFICIENT MEMORY: for param_list\n");
- return(MEMORY_ERROR);
- }
- strcpy(ap->param_list,paramlist);
- }
- return(FINISHED);
- }
|