arrays.h 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416
  1. /*
  2. * Copyright (c) 1983-2013 Trevor Wishart and Composers Desktop Project Ltd
  3. * http://www.trevorwishart.co.uk
  4. * http://www.composersdesktop.com
  5. *
  6. This file is part of the CDP System.
  7. The CDP System is free software; you can redistribute it
  8. and/or modify it under the terms of the GNU Lesser General Public
  9. License as published by the Free Software Foundation; either
  10. version 2.1 of the License, or (at your option) any later version.
  11. The CDP System is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. GNU Lesser General Public License for more details.
  15. You should have received a copy of the GNU Lesser General Public
  16. License along with the CDP System; if not, write to the Free Software
  17. Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
  18. 02111-1307 USA
  19. *
  20. */
  21. /*******@@@@@@@@@@@@@@****** ARRAY NAMES ********@@@@@@@@@@@@@@********/
  22. /************************* (double) VARIABLE ARRAY NAMES **********************/
  23. /*************** SPEC ***********/
  24. #define ARPE_TAB (0)
  25. #define CHORU_RTABA (0)
  26. #define CHORU_RTABF (1)
  27. #define GLIDE_INF (0)
  28. #define INV_AMPRATIO (0)
  29. #define MPH_COS (0) /* morph */
  30. #define OCTVU_ENERGY (0)
  31. #define PA_AVPICH (0) /* p_approx */
  32. #define PI_INTMAP (0) /* p_invert */
  33. #define PQ_QSET (0) /* p_quantise */
  34. #define PV_SIN (0) /* p_vibrato */
  35. #define PW_BRK (0) /* p_write */
  36. #define PEAK_BAND (0) /* peak */
  37. #define PEAK_MAXI (1)
  38. #define PICH_PRETOTAMP (0) /* pitch && track */
  39. #define PICH_PBRK (1)
  40. #define PICH_SPEC (0)
  41. #define RP_TBRK (0) /* repitch */
  42. #define SHIFT_CHTOP (0)
  43. #define SHIFT_CHMID (1)
  44. #define TSTR_PBUF (0)
  45. #define TSTR_QBUF (1)
  46. /* the 2 above are also names for bufptrs */
  47. /* the 1 below is ONLY a name for a bufptr */
  48. #define TSTR_PEND (2)
  49. #define WARP_P2 (0)
  50. #define WARP_AVP (1)
  51. #define WAVER_CHFBOT (0)
  52. /* DISTORT */
  53. #define DISTORT_SIN (0)
  54. /* DISTORT_ENV */
  55. #define DISTORTE_ENV (0) /* array AND ptr */
  56. #define DISTORTE_ENVEND (1) /* ptr only */
  57. /* DISTORT_HRM */
  58. #define DISTORTH_AMP (0)
  59. #define ENV_CREATE_INTIME (0)
  60. #define ENV_CREATE_INLEVEL (1)
  61. #define ENV_CREATE_TIME (2)
  62. #define ENV_CREATE_LEVL (3)
  63. /* ENVEL */
  64. #define ENV_SINETAB (0)
  65. /* ZIGZAG : LOOP */
  66. #define ZIGZAG_SPLICE (0)
  67. /* DRUNKWALK */
  68. #define DRNK_SPLICETAB (0)
  69. /* FILTERS */
  70. #define FLT_FRQ (0)
  71. #define FLT_AMP (1)
  72. #define FLT_AMPL (2)
  73. #define FLT_A (3)
  74. #define FLT_B (4)
  75. #define FLT_Y (5)
  76. #define FLT_Z (6)
  77. #define FLT_D (7)
  78. #define FLT_E (8)
  79. #define FLT_COSW (9)
  80. #define FLT_SINW (10)
  81. #define FLT_WW (11)
  82. #define FLT_FBRK (12)
  83. #define FLT_INAMP (13)
  84. #define FLT_INFRQ (14)
  85. #define FLT_LASTFVAL (15)
  86. #define FLT_LASTAVAL (16)
  87. #define FLT_FINCR (17)
  88. #define FLT_AINCR (18)
  89. #define FLT_HBRK (19)
  90. #define HARM_FRQ_CALC (20)
  91. #define HARM_AMP_CALC (21)
  92. /* FSTATVAR, FLTSWEEP */
  93. #define FLT_DLS (0)
  94. #define FLT_DBS (1)
  95. #define FLT_DHS (2)
  96. #define FLT_DNS (3)
  97. /* EQ */
  98. #define FLT_XX1 (0)
  99. #define FLT_XX2 (1)
  100. #define FLT_YY1 (2)
  101. #define FLT_YY2 (3)
  102. /* ALLPASS */
  103. #define FLT_DELBUF1 (0)
  104. #define FLT_DELBUF2 (1)
  105. /* LPHP */
  106. /*RWD 4:2000 redefined to deal with nchan files */
  107. #define FLT_DEN1 (0)
  108. #define FLT_DEN2 (1)
  109. #define FLT_CN (2)
  110. #ifdef NOTDEF
  111. #define FLT_S1 (3)
  112. #define FLT_S2 (4)
  113. #define FLT_E1 (5)
  114. #define FLT_E2 (6)
  115. #define FLT_S1S (7)
  116. #define FLT_E1S (8)
  117. #define FLT_S2S (9)
  118. #define FLT_E2S (10)
  119. #else
  120. #define FLT_S1_BASE (3)
  121. #define FLT_S2_BASE (4)
  122. #define FLT_E1_BASE (5)
  123. #define FLT_E2_BASE (6)
  124. #define FLT_LPHP_ARRAYS_PER_FILTER (4)
  125. #endif
  126. /* GRAIN */
  127. #define GR_ENVEL (0)
  128. #define GR_ENVSTEP (1)
  129. #define GR_SPLICETAB (2)
  130. /* GRAIN REPITCH, RERHYTHM, REMOTIF */
  131. #define GR_RATIO (3)
  132. /* GRAIN REPOSITION, FIND & ALIGN */
  133. #define GR_SYNCTIME (3)
  134. /* SYNC */
  135. #define MSY_TIMESTOR (0)
  136. #define MSY_STARTSRCH (1)
  137. #define MSY_ENDSRCH (2)
  138. /* MIX TIMEWARP */
  139. #define MTW_TIMESTOR (0)
  140. #define MTW_TIMEDIFF (1)
  141. /* MIX SPACEWARP */
  142. #define MSW_TIMESTOR (0)
  143. /* MIX GAIN */
  144. #define MIX_LLEVELSTOR (0)
  145. #define MIX_RLEVELSTOR (1)
  146. /* MIX MERGE */
  147. #define MCR_COSTABLE (0)
  148. /* BRASSAGE & SAUSAGE */
  149. #define GRS_BSPLICETAB (0)
  150. #define GRS_ESPLICETAB (1)
  151. #define GRS_NORMFACT (2)
  152. /* TEXTURE */
  153. #define TEX_PITCHES (0)
  154. /* MODIFY */
  155. #define VIB_SINTAB (0)
  156. #define DELAY_BUF (0)
  157. #define STAD_TDELAY (0)
  158. #define STAD_GAIN (1)
  159. #define STAD_PAN (2)
  160. #define STAD_GAINL (3)
  161. #define STAD_GAINR (4)
  162. #define SCRUB_SIN (0)
  163. #define SCRUB_READTAB (1)
  164. #define RM_SINTAB (0)
  165. /* EDIT JOIN */
  166. #define SPLICE_UP (0)
  167. #define SPLICE_DN (1)
  168. /* SYNTH */
  169. #define SYNTH_TAB (0)
  170. /* UTILS */
  171. #define COL (0)
  172. /************************ INTEGER VARIABLE ARRAY NAMES **************************/
  173. /*** SPEC *****/
  174. #define ARPE_KEEP (0)
  175. #define CL_MARK (0) /* clean */
  176. #define FRZ_TIMETYPE (0)
  177. #define GLIDE_ZERO (0)
  178. #define OCTVU_CHBTOP (0)
  179. #define OCTVU_CHBBOT (1)
  180. #define PA_CHANGE (0) /* p_approx */
  181. #define SCAT_KEEP (0)
  182. #define SHIFT_OVER (0)
  183. #define SHIFT_DONE (1)
  184. #define SHUF_MAP (0)
  185. #define TUNE_LOUD (0)
  186. #define WARP_CHANGE (0)
  187. #define WEAVE_WEAV (0)
  188. #define MEAN_LOC1 (0)
  189. #define MEAN_LOC2 (1)
  190. /* DISTORT_HRM */
  191. #define DISTORTH_HNO (0)
  192. /* DISTORT_SHUF */
  193. #define DISTORTS_MAP (0)
  194. /* ENVEL */
  195. #define ENV_SLOPETYPE (0)
  196. /* LOOP : SCRAMBLE */
  197. #define ZIGZAG_PLAY (0)
  198. /* SCRAMBLE */
  199. #define SCRAMBLE_PERM (1)
  200. /* GRAIN REORDER only */
  201. #define GR_REOSET (0)
  202. /* MIX SYNC */
  203. #define MSY_CHANS (0)
  204. #define MSY_ENVPOS (1)
  205. /* BRASSAGE & SAUSAGE */
  206. #define GRS_FLAGS (0)
  207. /* SAUSAGE */
  208. #define SAUS_PERM (1)
  209. /* TEXTURE */
  210. #define TXPERMINDEX (0)
  211. #define TXPERMLEN (1)
  212. #define TXLASTPERMLEN (2)
  213. #define TXLASTPERMVAL (3)
  214. #define TXREPETCNT (4)
  215. #define TXRPT (5)
  216. /* MOD_RADICAL */
  217. #define SHR_PERM (0)
  218. /************************** LONG VARIABLE ARRAY NAMES ****************************/
  219. /**** SPEC *****/
  220. #define FRZ_SEGTIME (0)
  221. #define FRZ_FRZTIME (1)
  222. #define PICK_BFLG (0)
  223. #define PLUK_BFLG (0)
  224. /* DISTORT_AVG */
  225. #define DISTORTA_CYCLEN (0)
  226. #define DISTORTA_STARTCYC (1)
  227. /* DISTORT_FRC */
  228. #define DISTORTF_CYCLEN (0)
  229. #define DISTORTF_STARTCYC (1)
  230. /* DISTORT_SHUF */
  231. #define DISTORTS_STARTCYC (0)
  232. /* DISTORT_DEL */
  233. #define DISTDEL_STARTCYC (0)
  234. #define DISTDEL_CYCLEVAL (1)
  235. /* DISTORT_RPL */
  236. #define DISTRPL_STARTCYC (0)
  237. #define DISTRPL_CYCLEVAL (1)
  238. /* DISTORT_TEL */
  239. #define DISTTEL_STARTCYC (0)
  240. #define DISTTEL_CYCLEVAL (1)
  241. /* ZIGZAG : LOOP : SCRAMBLE */
  242. #define ZIGZAG_TIMES (0)
  243. /* SCRAMBLE */
  244. #define SCRAMBLE_CHUNKPTR (1)
  245. #define SCRAMBLE_CHUNKLEN (2)
  246. /* FILTERS */
  247. #define FLT_SAMPTIME (0)
  248. /* GRAIN REORDER */
  249. #define GR_ARRAYLEN (0)
  250. #define GR_THIS_LEN (1)
  251. /* GRAIN REVERSE */
  252. #define GR_ABS_POS (0)
  253. /* MIX SYNC */
  254. #define MSY_PEAKSAMP (0)
  255. #define MSY_SAMPSIZE (1)
  256. #define MSY_ENVEL (2)
  257. /* BRASSAGE & SAUSAGE */
  258. #define GRS_LBUF (0)
  259. #define GRS_LBUFEND (1)
  260. #define GRS_LBUFMID (2)
  261. #define GRS_LTAILEND (3)
  262. /* MOD_REVECHO */
  263. #define STAD_DELAY (0)
  264. /* MOD_RADICAL */
  265. #define SHR_CHUNKPTR (0)
  266. #define SHR_CHUNKLEN (1)
  267. /* EDIT EXCISE(MANY) */
  268. #define CUT_STTSAMP (0)
  269. #define CUT_STTSPLI (1)
  270. #define CUT_ENDSAMP (2)
  271. #define CUT_ENDSPLI (3)
  272. /* HOUSE EXTRACT */
  273. #define CUTGATE_STIME (0)
  274. #define CUTGATE_ETIME (1)
  275. /************************* EXTRA SHORT BUFS **********************/
  276. /* ZIGZAG */
  277. #define ZIGZAG_SPLBUF (0)
  278. /************************* INTERNAL POINTERS (dz->ptr) ***********************/
  279. /* GRAIN */
  280. #define GR_GATEVALS (0)
  281. #define GR_GATEBRKEND (1)
  282. #define GR_ENVEND (2)
  283. #define GR_ESTEPEND (3)
  284. /************* FLOAT ARRAY NAMES FOR SPEC PITCH, TRACK, and P_HEAR ****************/
  285. #define CHBOT (0)
  286. #define TESTPAMP (1)
  287. #define TOTPAMP (2)
  288. #define SIN_TABLE (0)
  289. #define STACK_TRANS (0)
  290. #define STACK_AMP (1)
  291. /************* FLOAT ARRAY NAMES FOR SHUDDER ****************/
  292. #define SHUD_TIMES (0)
  293. #define SHUD_LEVEL (1)
  294. #define SHUD_WIDTH (2)
  295. #define SHUD_DEPTH (3)
  296. #define SHUD_ENV0 (4)
  297. #define SHUD_ENV1 (5)
  298. /*TW March 2004 */
  299. /* ENVSYN */
  300. #define ENVSYN_ENV (0) /* array AND ptr */
  301. #define ENVSYN_ENVEND (1) /* ptr only */