modicon.h 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  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. /******************************** MODIFY ******************************/
  22. /*
  23. #define MULTICHAN 1
  24. */
  25. /* mod_space constants */
  26. #define PAN_PRESCALE_DEFAULT (0.7)
  27. #define MAX_PANNING (256.0)
  28. /* brassage internal flags */
  29. #define G_VELOCITY_FLAG (0)
  30. #define G_DENSITY_FLAG (1)
  31. #define G_GRAINSIZE_FLAG (2)
  32. #define G_PITCH_FLAG (3)
  33. #define G_AMP_FLAG (4)
  34. #define G_SPACE_FLAG (5)
  35. #define G_BSPLICE_FLAG (6)
  36. #define G_ESPLICE_FLAG (7)
  37. #define G_RANGE_FLAG (8)
  38. #define G_SCATTER_FLAG (9)
  39. /* brassage bufnames */
  40. #define GRS_SBUF (0)
  41. #define GRS_BUF (1)
  42. #define GRS_IBUF (2)
  43. #define GRS_OBUF (3)
  44. /* brassage extrabuf_names */
  45. #define GRS_GBUF (0)
  46. /* brassage bitflags */
  47. #define G_VARIABLE_HI_BOUND (8)
  48. #define G_HI_BOUND (4)
  49. #define G_VARIABLE_VAL (2)
  50. #define G_FIXED_VAL (1)
  51. /* brassage */
  52. #define GRS_MIN_GRSAMPSIZE (4) /* smaalest grainsize in (stereo-pair=1) samps */
  53. #define GRS_MAX_VFLAGS (3)
  54. #define GRS_DEFAULT_DENSITY (2.0) /* used to be 2.0 */
  55. #define GRS_MAX_DENSITY (16384.0)
  56. #define GRS_MAX_VELOCITY (32767.0)
  57. #define GRS_DEFAULT_GRAINSIZE (50.0)
  58. #define GRS_DEFAULT_REVERB_PSHIFT (0.33)
  59. #define MIN_LIKELY_PITCH (10.0)
  60. #define GRS_DEFAULT_REVERB_SRCHRANGE (50.0) /* ??? */
  61. #define GRS_DEFAULT_SPLICELEN (5.0) /* ??? */
  62. #define GRS_MIN_SPLICELEN (1.0) /* ??? */
  63. #define GRS_DEFAULT_SCATTER (0.5) /* ??? */
  64. #define GRS_DEFAULT_REVERB_DENSITY (8.0) /* ??? */
  65. /* counts of granula flags */
  66. #define SFLAGCNT (8) /* structured flags */
  67. #define FLAGCNT (2) /* other flags */
  68. /* settings of granula flags */
  69. /*
  70. #define NOT_SET (0) DEFINED GLOBALLY */
  71. #define FIXED (1)
  72. #define VARIABLE (2)
  73. #define RANGED (5)
  74. #define RANGE_VLO (6)
  75. #define RANGE_VHI (9)
  76. #define RANGE_VHILO (10)
  77. /* granula */
  78. // multichannel 2009
  79. #define BOTH_CHANNELS (-1)
  80. #define ALL_CHANNELS (-1)
  81. /* strans,vtrans */
  82. #define INBUF (0)
  83. #define OUTBUF (1)
  84. #define OBUFEND (2)
  85. #define TRUE_LBUF (3)
  86. #define L_GRDPNT (4)
  87. #define TRUE_RBUF (5)
  88. #define R_GRDPNT (6)
  89. #define LBUF (7)
  90. #define RBUF (8)
  91. #define MIN_ACCEL (.0001)
  92. #define MAX_ACCEL (1000.0)
  93. #define MINTIME_ACCEL (0.01)
  94. #define VIB_TABSIZE (1024)
  95. #define VIB_BLOKSIZE (128)
  96. #define DEFAULT_VIB_FRQ (12.0)
  97. #define DEFAULT_VIB_DEPTH (0.667) /* 2/3 semitones = 1/3 tone */
  98. #define MAX_VIB_FRQ (120.0)
  99. #define DEFAULT_DELAY (20.0)
  100. #define MAX_DELAY (10000.0)
  101. /*TW NEW*/
  102. #define MAX_ECHOCNT (1000) /* used to be 23, then 100 */
  103. #define REASONABLE_ECHOCNT (23)
  104. #define STAD_PREGAIN_DFLT (0.645654)
  105. #define DFLT_STAD_DELTIME (0.1)
  106. #define MAX_STAD_DELAY (100.0)
  107. /* lobit */
  108. #define MIN_SRATE_DIV (2)
  109. #define MAX_SRATE_DIV (256)
  110. #define MAX_BIT_DIV (16)
  111. /* shred */
  112. #define SHRED_SPLICELEN (256)
  113. #define SHRED_HSPLICELEN (128)
  114. #define SHRED_SPLICELEN_POW2 (8)
  115. #define MAXSHRED (10000)
  116. #define MAX_SHR_SCATTER (8)
  117. /* scrub */
  118. #define SCRUB_SINTABSIZE (256)
  119. #define SCRUB_SINWARP (.3)
  120. #define SCRUB_SKEWRANGE (.01)
  121. #define SCRUB_MINSPEED_DEFAULT (-48.0) /* 4 octaves down */
  122. #define SCRUB_MAXSPEED_DEFAULT (48.0) /* 4 octaves up */
  123. #define SCRUB_SPEED_MIN (-96.0) /* 8 octaves down */
  124. #define SCRUB_SPEED_MAX (96.0) /* 8 octaves up */
  125. #define SCRUB_RANGE_REDUCE_FACTOR (.15)
  126. #define MIN_RING_MOD_FRQ (0.1)
  127. #define RING_MOD_BLOK (128)
  128. #define RM_SINTABSIZE (512)