flagnames.c 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <structures.h>
  4. #include <tkglobals.h>
  5. #include <logic.h>
  6. #include <cdparams.h>
  7. #include <globcon.h>
  8. #include <processno.h>
  9. #include <modeno.h>
  10. /************************************ SETUP_FLAGNAMES *****************************/
  11. int setup_flagnames(int process,int mode,int total_flags,aplptr ap)
  12. {
  13. if((ap->flagname = (char **)malloc((total_flags
  14. ) * sizeof(char *)))==NULL) {
  15. sprintf(errstr,"INSUFFICIENT MEMORY: to setup_flagnames\n");
  16. return(MEMORY_ERROR);
  17. }
  18. switch(process) {
  19. /******************** SPEC *******************/
  20. case(ALT):
  21. ap->flagname[0] = "LESS_BODY_IN_SPECTRUM";
  22. break;
  23. case(ARPE):
  24. if(mode==ON
  25. || mode==BOOST
  26. || mode==ABOVE_BOOST
  27. || mode==BELOW_BOOST) {
  28. ap->flagname[0] = "TRACK_FRQ_CHANGE";
  29. ap->flagname[1] = "SUSTAINS_RUN_TO_ZERO";
  30. }
  31. break;
  32. case(BARE):
  33. case(CHORD):
  34. case(MULTRANS):
  35. ap->flagname[0] = "LESS_BODY_IN_SPECTRUM";
  36. break;
  37. case(TRNSF):
  38. case(TRNSP):
  39. case(FOLD):
  40. ap->flagname[0] = "MORE_BODY_IN_SPECTRUM";
  41. break;
  42. case(DIFF):
  43. ap->flagname[0] = "RETAIN_SUBZERO_AMPLITUDES";
  44. break;
  45. case(DRUNK):
  46. ap->flagname[0] = "REJECT_ZERO_STEPS";
  47. break;
  48. case(FMNTSEE):
  49. ap->flagname[0] = "DISPLAY_FORMANTBAND_DATA";
  50. break;
  51. case(FORMSEE):
  52. ap->flagname[0] = "DISPLAY_IN_SEMITONE_BANDS";
  53. break;
  54. case(GREQ):
  55. ap->flagname[0] = "NOTCH_FILTER";
  56. break;
  57. case(MEAN):
  58. ap->flagname[0] = "ZERO_CHANNELS_OUTSIDE_RANGE";
  59. break;
  60. case(P_FIX):
  61. ap->flagname[0] = "REMOVE_2-WINDOW_GLITCHES";
  62. ap->flagname[1] = "INTERPOLATE";
  63. break;
  64. case(P_QUANTISE):
  65. ap->flagname[0] = "DUPLICATE_Q-SET_IN_ALL_OCTAVES";
  66. break;
  67. case(P_SMOOTH):
  68. ap->flagname[0] = "HOLD_LAST_CALCULATED_PITCH";
  69. break;
  70. case(P_SYNTH):
  71. case(P_VOWELS):
  72. case(VFILT):
  73. case(P_GEN):
  74. case(P_INSERT):
  75. case(P_SINSERT):
  76. case(P_PTOSIL):
  77. case(P_NTOSIL):
  78. case(ANALENV):
  79. case(P_BINTOBRK):
  80. case(MAKE2):
  81. case(P_INTERP):
  82. break;
  83. case(PEAK):
  84. ap->flagname[0] = "ADJUST_FOR_SENSITIVITY_OF_EAR";
  85. break;
  86. case(PITCH):
  87. ap->flagname[0] = "USE_OTHER_ALGORITHM";
  88. if(mode==PICH_TO_BIN) {
  89. ap->flagname[1] = "KEEP_PITCH_ZEROS";
  90. }
  91. break;
  92. case(SCAT):
  93. ap->flagname[0] = "KEEP_RANDOM_SET_ONLY";
  94. ap->flagname[1] = "DON'T_NORMALISE";
  95. break;
  96. case(SHIFT):
  97. ap->flagname[0] = "LOG_INTERP_CHANGING_FRQ";
  98. break;
  99. case(S_TRACE):
  100. if(mode!=TRC_ALL) {
  101. ap->flagname[0] = "RETAIN_OUT-OF-BAND_CHANS";
  102. }
  103. break;
  104. /******************** GROUCHO *****************/
  105. case(DISTORT_MLT):
  106. ap->flagname[0] = "SMOOTHED";
  107. break;
  108. case(DISTORT_DIV):
  109. ap->flagname[0] = "INTERPOLATED";
  110. break;
  111. case(DISTORT_TEL):
  112. ap->flagname[0] = "TO_AVERAGE_CYCLELEN";
  113. break;
  114. case(DISTORT_PULSED):
  115. ap->flagname[0] = "KEEP_START_OF_SRC_BEFORE_IMPULSES_BEGIN";
  116. ap->flagname[1] = "KEEP_END_OF_SRC_AFTER_IMPULSES_FINISH";
  117. break;
  118. case(LOOP):
  119. ap->flagname[0] = "FROM_INFILE_START";
  120. break;
  121. case(SCRAMBLE):
  122. ap->flagname[0] = "RUN_FROM_SND_START";
  123. ap->flagname[1] = "RUN_TO_SND_END";
  124. break;
  125. case(SIMPLE_TEX):
  126. case(TIMED):
  127. ap->flagname[0] = "PLAY_ALL_OF_INSOUND";
  128. ap->flagname[1] = "PLAY_FILES_CYCLICALLY";
  129. ap->flagname[2] = "RANDOMLY_PERMUTE_EACH_CYCLE";
  130. break;
  131. case(DECORATED):
  132. case(PREDECOR):
  133. case(POSTDECOR):
  134. ap->flagname[0] = "PLAY_ALL_OF_INSOUND";
  135. ap->flagname[1] = "FIXED_TIMESTEP_IN_GROUP";
  136. ap->flagname[2] = "SCATTER_DECOR_INSTRS";
  137. ap->flagname[3] = "DECORS_TO_HIGHEST_NOTE";
  138. ap->flagname[4] = "DECORS_ON_EVERY_NOTE";
  139. ap->flagname[5] = "DISCARD_ORIGINAL_LINE";
  140. break;
  141. case(ORNATE):
  142. case(PREORNATE):
  143. case(POSTORNATE):
  144. ap->flagname[0] = "PLAY_ALL_OF_INSOUND";
  145. ap->flagname[1] = "FIXED_NOTE-SUSTAIN_IN_MOTIFS";
  146. ap->flagname[2] = "SCATTER_ORNAMENT_INSTRS";
  147. ap->flagname[3] = "ORNAMENTS_TO_HIGHEST_NOTE";
  148. ap->flagname[4] = "ORNAMENTS_ON_EVERY_NOTE";
  149. break;
  150. case(GROUPS):
  151. case(TGROUPS):
  152. ap->flagname[0] = "PLAY_ALL_OF_INSOUND";
  153. ap->flagname[1] = "FIXED_TIMESTEP_IN_GROUP";
  154. ap->flagname[2] = "SCATTER_DECOR_INSTRS";
  155. break;
  156. case(MOTIFSIN):
  157. case(MOTIFS):
  158. case(TMOTIFS):
  159. case(TMOTIFSIN):
  160. ap->flagname[0] = "PLAY_ALL_OF_INSOUND";
  161. ap->flagname[1] = "FIXED_NOTE-SUSTAIN_IN_MOTIFS";
  162. ap->flagname[2] = "SCATTER_MOTIF_INSTRS";
  163. break;
  164. case(GRAIN_COUNT):
  165. case(GRAIN_OMIT):
  166. case(GRAIN_DUPLICATE):
  167. case(GRAIN_REORDER):
  168. case(GRAIN_REPITCH):
  169. case(GRAIN_RERHYTHM):
  170. case(GRAIN_REMOTIF):
  171. case(GRAIN_TIMEWARP):
  172. case(GRAIN_POSITION):
  173. case(GRAIN_ALIGN):
  174. case(GRAIN_GET):
  175. case(GRAIN_REVERSE):
  176. ap->flagname[0] = "IGNORE_LAST_GRAIN";
  177. break;
  178. case(MIX):
  179. ap->flagname[0] = "ALTERNATIVE_MIX";
  180. break;
  181. case(MIXSYNCATT):
  182. ap->flagname[0] = "POWER_METHOD";
  183. break;
  184. case(MIXSHUFL):
  185. if(mode==MSH_DUPL_AND_RENAME) {
  186. ap->flagname[0] = "NO_SNDNAME_CHECK";
  187. }
  188. break;
  189. case(FLTBANKN):
  190. case(FLTBANKU):
  191. case(FLTBANKV2):
  192. ap->flagname[0] = "DOUBLE_FILTERING";
  193. ap->flagname[1] = "NORMALISE";
  194. break;
  195. case(FLTBANKV):
  196. ap->flagname[0] = "DOUBLE_FILTERING";
  197. ap->flagname[1] = "DROP_OUT_IF_FILTER_OVERFLOWS";
  198. ap->flagname[2] = "NORMALISE";
  199. break;
  200. case(FLTITER):
  201. ap->flagname[0] = "DOUBLE_FILTERING";
  202. ap->flagname[1] = "PITCH_NOT_INTERPOLATED";
  203. ap->flagname[2] = "EXPONENTIAL_DECAY";
  204. ap->flagname[3] = "NO_NORMALISATION";
  205. break;
  206. case(ALLPASS):
  207. ap->flagname[0] = "LINEAR_INTERP_DELAY";
  208. break;
  209. case(MOD_LOUDNESS):
  210. break;
  211. case(MOD_SPACE):
  212. case(SCALED_PAN):
  213. break;
  214. case(MOD_PITCH):
  215. switch(mode) {
  216. case(MOD_ACCEL):
  217. case(MOD_VIBRATO):
  218. break;
  219. default:
  220. ap->flagname[0] = "OUTFILE_TIMES";
  221. break;
  222. }
  223. break;
  224. case(MOD_REVECHO):
  225. switch(mode) {
  226. case(MOD_DELAY):
  227. ap->flagname[0] = "INVERT_DELAYED_SIGNAL";
  228. break;
  229. case(MOD_VDELAY):
  230. break;
  231. case(MOD_STADIUM):
  232. ap->flagname[0] = "NORMALISE_OUTPUT";
  233. break;
  234. }
  235. break;
  236. case(MOD_RADICAL):
  237. if(mode == MOD_SHRED)
  238. ap->flagname[0] = "SMOOTHER";
  239. else if(mode == MOD_SCRUB)
  240. ap->flagname[0] = "SINGLE_SCRUB_(version_7+_only)";
  241. break;
  242. case(BRASSAGE):
  243. switch(mode) {
  244. case(GRS_BRASSAGE):
  245. case(GRS_FULL_MONTY):
  246. ap->flagname[0] = "NO_DECCELERATION";
  247. ap->flagname[1] = "EXPONENTIAL_SPLICES";
  248. ap->flagname[2] = "PITCH_NOT_INTERPOLATED";
  249. break;
  250. case(GRS_GRANULATE):
  251. ap->flagname[0] = "NO_DECCELERATION";
  252. break;
  253. }
  254. break;
  255. case(SAUSAGE):
  256. ap->flagname[0] = "NO_DECCELERATION";
  257. ap->flagname[1] = "EXPONENTIAL_SPLICES";
  258. ap->flagname[2] = "PITCH_NOT_INTERPOLATED";
  259. break;
  260. case(EDIT_CUT):
  261. case(EDIT_CUTEND):
  262. case(EDIT_ZCUT):
  263. case(EDIT_EXCISE):
  264. case(EDIT_EXCISEMANY):
  265. case(INSERTSIL_MANY):
  266. break;
  267. case(EDIT_CUTMANY):
  268. break;
  269. case(STACK):
  270. ap->flagname[0] = "SEE_STACK_LEVELS";
  271. ap->flagname[1] = "NORMALISE";
  272. break;
  273. case(EDIT_INSERT):
  274. case(EDIT_INSERTSIL):
  275. ap->flagname[0] = "OVERWRITE";
  276. ap->flagname[1] = "RETAIN_ANY_TRAILING_SILENCE";
  277. break;
  278. case(EDIT_JOIN):
  279. case(JOIN_SEQ):
  280. case(JOIN_SEQDYN):
  281. ap->flagname[0] = "SPLICE_START";
  282. ap->flagname[1] = "SPLICE_END";
  283. break;
  284. case(HOUSE_COPY):
  285. break;
  286. case(HOUSE_DEL):
  287. ap->flagname[0] = "SEARCH_FOR_ALL_COPIES";
  288. break;
  289. case(HOUSE_CHANS):
  290. switch(mode) {
  291. case(STOM):
  292. ap->flagname[0] = "INVERT_CHANNEL2_PHASE";
  293. break;
  294. default:
  295. break;
  296. }
  297. break;
  298. case(HOUSE_BUNDLE):
  299. break;
  300. case(HOUSE_SORT):
  301. switch(mode) {
  302. case(BY_DURATION):
  303. case(BY_LOG_DUR):
  304. case(IN_DUR_ORDER):
  305. ap->flagname[0] = "DON'T_DISPLAY_TIMINGS";
  306. break;
  307. default:
  308. break;
  309. }
  310. break;
  311. case(HOUSE_SPEC):
  312. break;
  313. case(HOUSE_EXTRACT):
  314. switch(mode) {
  315. case(HOUSE_TOPNTAIL):
  316. ap->flagname[0] = "NO_START_TRIM";
  317. ap->flagname[1] = "NO_END_TRIM";
  318. break;
  319. default:
  320. break;
  321. }
  322. break;
  323. case(TOPNTAIL_CLICKS):
  324. ap->flagname[0] = "TRIM_START";
  325. ap->flagname[1] = "TRIM_END";
  326. break;
  327. case(HOUSE_BAKUP):
  328. case(HOUSE_DUMP):
  329. case(HOUSE_GATE):
  330. break;
  331. case(HOUSE_RECOVER):
  332. ap->flagname[0] = "INVERT_PHASE";
  333. break;
  334. case(HOUSE_DISK):
  335. break;
  336. case(INFO_SAMPTOTIME):
  337. case(INFO_TIMETOSAMP):
  338. ap->flagname[0] = "COUNT_SAMPLES_IN_GROUPS";
  339. break;
  340. case(INFO_DIFF):
  341. ap->flagname[0] = "IGNORE_LENGTH_DIFFERENCE";
  342. ap->flagname[1] = "IGNORE_CHANNEL_COUNT_DIFFERENCE";
  343. break;
  344. case(INFO_MAXSAMP):
  345. ap->flagname[0] = "FORCE_SEARCH_IN_SOUND";
  346. break;
  347. case(INFO_MAXSAMP2):
  348. case(INFO_TIMESUM):
  349. case(INFO_PROPS):
  350. case(INFO_SFLEN):
  351. case(INFO_TIMELIST):
  352. case(INFO_LOUDLIST):
  353. case(INFO_TIMEDIFF):
  354. case(INFO_LOUDCHAN):
  355. case(INFO_FINDHOLE):
  356. case(INFO_CDIFF):
  357. case(INFO_PRNTSND):
  358. case(INFO_MUSUNITS):
  359. break;
  360. case(SYNTH_WAVE):
  361. case(SYNTH_NOISE):
  362. case(SYNTH_SIL):
  363. ap->flagname[0] = "CUBIC_SPLINE_INTERP_FRQ_DATA";
  364. break;
  365. case(MULTI_SYN):
  366. break;
  367. case(SYNTH_SPEC):
  368. ap->flagname[0] = "SPREAD_AS_TRANSPOSITION_RATIO";
  369. break;
  370. case(RANDCUTS):
  371. break;
  372. case(RANDCHUNKS):
  373. ap->flagname[0] = "LINEAR_DISTRIBUTION";
  374. ap->flagname[1] = "ALL_BEGIN_AT_SOUND_START";
  375. break;
  376. case(SIN_TAB):
  377. break;
  378. case(ACC_STREAM):
  379. break;
  380. case(HF_PERM1):
  381. case(HF_PERM2):
  382. ap->flagname[0] = "CHORDS_ONLY_OF_SPECIFIED_MIN_NO_OF_NOTES";
  383. ap->flagname[1] = "SMALLEST_SPAN_FIRST_(DEFAULT:_LARGEST_FIRST)";
  384. ap->flagname[2] = "FINAL_SORT_BY_ALTERNATIVE_METHOD_(DEFAULT:_BY_DENSITY)";
  385. ap->flagname[3] = "ELIMINATE_CHORDS_DUPLICATED_AT_OCTAVES";
  386. break;
  387. case(DEL_PERM):
  388. case(DEL_PERM2):
  389. break;
  390. case(TWIXT):
  391. case(SPHINX):
  392. if(process != TWIXT || mode != TRUE_EDIT)
  393. ap->flagname[0] = "RANDOMLY_PERMUTE_FILE_ORDER";
  394. break;
  395. case(NOISE_SUPRESS):
  396. ap->flagname[0] = "RETAIN_NOISE_RATHER_THAN_TONE";
  397. break;
  398. case(TIME_GRID):
  399. case(SEQUENCER):
  400. case(SEQUENCER2):
  401. case(CONVOLVE):
  402. case(BAKTOBAK):
  403. case(MIX_PAN):
  404. case(MIX_AT_STEP):
  405. case(FIND_PANPOS):
  406. break;
  407. case(CLICK):
  408. ap->flagname[0] = "SHOW_LINE_TIMES";
  409. break;
  410. break;
  411. case(SHUDDER):
  412. ap->flagname[0] = "BALANCE_CHANNEL_LEVELS";
  413. break;
  414. case(DOUBLETS):
  415. ap->flagname[0] = "RETAIN_ORIGINAL_DURATION";
  416. break;
  417. case(SYLLABS):
  418. ap->flagname[0] = "CUT_PAIRS_OF_SYLLABLES";
  419. break;
  420. case(MAKE_VFILT):
  421. case(BATCH_EXPAND):
  422. case(MIX_MODEL):
  423. case(ENVSYN):
  424. case(GRAIN_ASSESS):
  425. case(GREV):
  426. break;
  427. case(HOUSE_GATE2):
  428. ap->flagname[0] = "SEE_DETAILS_OF_GLITCHES";
  429. break;
  430. case(RRRR_EXTEND):
  431. switch(mode) {
  432. case(0):
  433. ap->flagname[0] = "KEEP_EXTENDED_ITERATE_ONLY";
  434. break;
  435. case(1):
  436. ap->flagname[0] = "KEEP_SOUND_BEFORE_ITERATE";
  437. ap->flagname[1] = "KEEP_SOUND_AFTER_ITERATE";
  438. break;
  439. }
  440. break;
  441. case(ZIGZAG):
  442. if(mode == 0)
  443. ap->flagname[0] = "DON'T_RUN_TO_END_OF_FILE";
  444. break;
  445. case(SSSS_EXTEND):
  446. ap->flagname[0] = "KEEP_EXTENDED_NOISE_ONLY";
  447. break;
  448. case(MANY_ZCUTS):
  449. break;
  450. default:
  451. sprintf(errstr,"Unknown case: setup_flagnames()\n");
  452. return(PROGRAM_ERROR);
  453. }
  454. return(FINISHED);
  455. }