Extra "ports" of juce-based plugins using the distrho build system
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

204 lines
5.1KB

  1. <Cabbage>
  2. form caption("Wave Terrain Synth"), size(760, 320), pluginID("wte1")
  3. xypad bounds(0, 0, 250, 210), channel("chanx", "chany"), text("Wave terrain X/Y"), rangex(0, 1, .2), rangey(0, 1, .4)
  4. groupbox bounds(260, 0, 240, 100), text("ADSR"), plant("adsr"){
  5. rslider bounds(.0, .3, .6, .6), text("A"), colour("orange"), channel("att"), range(0.01,3, .5)
  6. rslider bounds(.25, .3, .6, .6), text("D"), colour("orange"), channel("dec"), range(0,1, .5)
  7. rslider bounds(.5, .3, .6, .6), text("S"), colour("orange"), channel("sus"), range(0,1,.8)
  8. rslider bounds(.75, .3, .6, .6), text("R"), colour("orange"), channel("rel"), range(0.01,3, .2)
  9. }
  10. groupbox bounds(260, 105, 240, 100), text("Tune/Moog filter"), plant("tune"){
  11. rslider bounds(.0, .3, .6, .6), text("Coarse"), colour("red"), channel("det1"), range(-24,12,0)
  12. rslider bounds(.25, .3, .6, .6), text("Detune"), colour("red"), channel("detune"), range(-1,1,0)
  13. rslider bounds(.5, .3, .6, .6), text("cutoff"), colour("red"), channel("cutoff"), range(500,22000,4000)
  14. rslider bounds(.74, .3, .6, .6), text("reso"), colour("red"), channel("resonance"), range(.1,.9,.5)
  15. }
  16. groupbox bounds(510,0, 240, 100), text("LFO/Stereo chorus"), plant("mod"){
  17. rslider bounds(.0, .3, .6, .6), text("Lfo amp"), colour("red"), channel("lfoamp"), range(0,50, 0)
  18. rslider bounds(.25, .3, .6, .6), text("Lfo rate"), colour("red"), channel("lforate"), range(0,20, 0)
  19. rslider bounds(.5, .3, .6, .6), text("depth"), colour("red"), channel("chdepth"), range(0,10,0)
  20. rslider bounds(.75, .3, .6, .6), text("rate"), colour("red"), channel("chrate"), range(0,10,0)
  21. }
  22. groupbox bounds(510,105, 240, 100), text("Reverb"), plant("rev"){
  23. rslider bounds(0, .3, .6, .6), text("level"), colour("dodgerblue"), channel("level"), range(0,1,0)
  24. rslider bounds(0.25, .3, .6, .6), text("size"), colour("dodgerblue"), channel("size"), range(.1,.99,.5)
  25. ;rslider bounds(115, 30, 60, 60), text("depth"), colour("dodgerblue"), channel("chdepth"), range(0,10,0)
  26. ;rslider bounds(165, 30, 60, 60), text("rate"), colour("dodgerblue"), channel("chrate"), range(0,10,0)
  27. checkbox bounds(.55, .40, .60, .30),channel("onoff"), text("On/Off"), value(0), colour("red")
  28. }
  29. }
  30. keyboard bounds(0, 220, 750, 70)
  31. </Cabbage>
  32. <CsoundSynthesizer>
  33. <CsOptions>
  34. -n -d -m0d -+rtmidi=NULL -M0
  35. </CsOptions>
  36. <CsInstruments>
  37. sr = 44100
  38. ksmps = 32
  39. nchnls = 2
  40. 0dbfs = 1
  41. ;Author: Giorgio Zucco (2012)
  42. ;turnon don't work!
  43. ;turnon 10 ;chorus
  44. ;turnon 12 ;reverb
  45. ga1 init 0
  46. ga2 init 0
  47. garev1 init 0
  48. garev2 init 0
  49. gitemp ftgen 1,0,16384,10,1,0,.6,0,.3,0,.2,0,.1
  50. gitemp ftgen 2,0,16384,10,1,1,1,1,0.7,0.5,0.3,0.1
  51. ;*******************************************
  52. opcode StChorus,aa,aakkkk
  53. asigr,asigl,kdepth,kdepthl,krate,kratel xin ;legge i parametri in entrata
  54. ;ar,al StChorus asigr,asigl,kdepth,kdepthl,krate,kratel
  55. k1ch randi kdepth/2,krate,1
  56. ar1 vdelay asigr,kdepth/2+k1ch,10
  57. k2ch randi kdepth/2,krate*0.9,.2
  58. ar2 vdelay asigr,kdepth/2+k2ch,10
  59. k3ch randi kdepth/2,krate*1.1,.2
  60. ar3 vdelay asigr,kdepth/2+k3ch,10
  61. k4ch randi kdepth/2,krate*1.3,.1
  62. ar4 vdelay asigr,kdepth/2+k4ch,10
  63. k1chl randi kdepthl/2,kratel,1
  64. ar1l vdelay asigl,kdepthl/2+k1chl,10
  65. k2chl randi kdepthl/2,kratel*0.9,.2
  66. ar2l vdelay asigl,kdepthl/2+k2chl,10
  67. k3chl randi kdepthl/2,kratel*1.1,.2
  68. ar3l vdelay asigl,kdepthl/2+k3chl,10
  69. k4chl randi kdepthl/2,kratel*1.3,.1
  70. ar4l vdelay asigl,kdepthl/2+k4chl,10
  71. aL = (ar1+ar2+ar3+ar4)/4
  72. aR = (ar1l+ar2l+ar3l+ar4l)/4
  73. xout aL,aR ; write output
  74. endop
  75. ;***********************************************
  76. instr 1
  77. iatt chnget "att"
  78. idec chnget "dec"
  79. isus chnget "sus"
  80. irel chnget "rel"
  81. ksemi chnget "det1"
  82. kdet chnget "detune"
  83. klfoamp chnget "lfoamp"
  84. klforate chnget "lforate"
  85. kcutoff chnget "cutoff"
  86. kreso chnget "resonance"
  87. kx1 chnget "chanx"
  88. ky1 chnget "chany"
  89. kx portk kx1,.05 ;remove noise
  90. ky portk ky1,.05
  91. ;midi
  92. imidinn notnum
  93. iamp ampmidi 1
  94. kbend pchbend 0,2 ;pitch bend
  95. kfreq1 = cpsmidinn(imidinn+kbend+int(ksemi)) ;controllo midi
  96. kfreq2 = cpsmidinn(imidinn+kbend+int(ksemi)+kdet)
  97. ;lfo
  98. klfo poscil klfoamp,klforate,1
  99. ifunc1 = 1
  100. ifunc2 = 2
  101. a1b wterrain iamp,(kfreq1+klfo),.1+kx,.1+ky,-kx,.1+ky,ifunc1,ifunc2
  102. a2b wterrain iamp,(kfreq2+klfo),.1+kx,.1+ky,-kx,.1+ky,ifunc1,ifunc2
  103. kadsr mxadsr iatt,idec,isus,irel
  104. aout = a1b+a2b ;global out
  105. ;abulp1 butterlp aout,kcutoff*kadsrfilt
  106. afilt moogladder aout,kcutoff,kreso
  107. amaster balance afilt,aout
  108. aclip clip amaster,0,0dbfs
  109. kpan jspline 1,0,8
  110. al,ar pan2 aclip,kpan
  111. outs (al*kadsr),(ar*kadsr)
  112. vincr ga1,(al*kadsr)
  113. vincr ga2,(ar*kadsr)
  114. vincr garev1,(al*kadsr)
  115. vincr garev2,(ar*kadsr)
  116. endin
  117. ;stereo chorus
  118. instr 10
  119. k1 chnget "chdepth"
  120. k2 chnget "chrate"
  121. kfxdepth portk k1,.01
  122. kfxrate portk k2,.01
  123. acho1,acho2 StChorus ga1,ga2,kfxdepth,kfxdepth*.8,kfxrate*.8,kfxrate*.5
  124. outs acho1,acho2
  125. clear ga1,ga2
  126. endin
  127. instr 12 ;reverb
  128. ktrig chnget "onoff"
  129. klevel chnget "level"
  130. ksize chnget "size"
  131. if ktrig = 1 then
  132. al,ar reverbsc garev1,garev2,ksize,16000,sr,0
  133. asum1 dcblock2 al
  134. asum2 dcblock2 ar
  135. else
  136. asum1 = 0
  137. asum2 = 0
  138. endif
  139. outs asum1*klevel,asum2*klevel
  140. clear garev1,garev2
  141. endin
  142. </CsInstruments>
  143. <CsScore>
  144. ;f0 36000
  145. i1 0 36000
  146. i10 0 36000
  147. i12 0 36000
  148. </CsScore>
  149. </CsoundSynthesizer>