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.

59 lines
2.5KB

  1. <Cabbage>
  2. form caption("Ping Pong Delay") size(350, 90), pluginID("ppdl")
  3. image bounds(0, 0,350, 90), colour("Maroon"), shape("rounded"), outline("white"), line(4)
  4. rslider bounds(10, 11, 70, 70), text("Time"), channel("time"), range(0.001, 10, 0.4, 0.5), colour(135, 30, 30) trackercolour(255,255,150) fontcolour(silver)
  5. rslider bounds(75, 11, 70, 70), text("Cutoff"), channel("cutoff"), range(20,20000,20000,0.5), colour(135, 30, 30) trackercolour(255,255,150) fontcolour(silver)
  6. rslider bounds(140, 11, 70, 70), text("Feedback"), channel("feedback"), range(0, 1.00, 0.5), colour(135, 30, 30) trackercolour(255,255,150) fontcolour(silver)
  7. rslider bounds(205, 11, 70, 70), text("Mix"), channel("mix"), range(0, 1.00, 0.5), colour(135, 30, 30) trackercolour(255,255,150) fontcolour(silver)
  8. rslider bounds(270, 11, 70, 70), text("Level"), channel("level"), range(0, 1.00, 0.7), colour(135, 30, 30) trackercolour(255,255,150) fontcolour(silver)
  9. </Cabbage>
  10. <CsoundSynthesizer>
  11. <CsOptions>
  12. -d -n
  13. </CsOptions>
  14. <CsInstruments>
  15. sr = 44100 ;SAMPLE RATE
  16. ksmps = 32 ;NUMBER OF AUDIO SAMPLES IN EACH CONTROL CYCLE
  17. nchnls = 2 ;NUMBER OF CHANNELS (2=STEREO)
  18. 0dbfs = 1
  19. ;Author: Iain McCurdy (2012)
  20. instr 1
  21. ktime chnget "time" ;READ WIDGETS...
  22. kcutoff chnget "cutoff" ;
  23. kfeedback chnget "feedback" ;
  24. kmix chnget "mix" ;
  25. klevel chnget "level" ;
  26. asigL, asigR ins
  27. kporttime linseg 0,0.01,0.03 ;CREATE A VARIABLE THAT WILL BE USED FOR PORTAMENTO TIME
  28. ktime portk ktime,kporttime ;PORTAMENTO SMOOTHING OF DELAT TIME
  29. atime interp ktime ;INTERPOLATED A-RATE VERSION OF DELAY TIME
  30. aL_OS vdelay asigL,(atime*1000)/2,(10*1000)/2 ;DELAYED OFFSET OF LEFT CHANNEL (FIRST 'PING')
  31. ;LEFT CHANNEL
  32. abuf delayr 10 ;ESTABLISH DELAY BUFFER
  33. aDelL deltapi atime ;TAP BUFFER
  34. aDelL tone aDelL,kcutoff ;LOWPASS FILTER DELAY TAP
  35. delayw aL_OS+(aDelL*kfeedback) ;WRITE INPUT AUDIO INTO BUFFER
  36. ;RIGHT CHANNEL
  37. abuf delayr 10 ;ESTABLISH DELAY BUFFER
  38. aDelR deltapi atime ;TAP BUFFER
  39. aDelR tone aDelR,kcutoff ;LOWPASS FILTER DELAY TAP
  40. delayw asigR+(aDelR*kfeedback) ;WRITE INPUT AUDIO INTO BUFFER
  41. amixL ntrpol asigL,aDelL+aL_OS,kmix ;MIX DRY AND WET SIGNALS (LEFT CHANNEL)
  42. amixR ntrpol asigR,aDelR,kmix ;MIX DRY AND WET SIGNALS (RIGHT CHANNEL)
  43. outs amixL*klevel, amixR*klevel ;PING PONG DELAY OUTPUTS ARE SENT OUT
  44. endin
  45. </CsInstruments>
  46. <CsScore>
  47. i 1 0 [3600*24*7]
  48. </CsScore>
  49. </CsoundSynthesizer>