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.

88 lines
2.6KB

  1. ; phaser1.csd
  2. ; Iain McCurdy 2012
  3. <Cabbage>
  4. form caption("phaser1") size(350, 90), pluginID("phs1")
  5. image pos(0, 0), size(350, 90), colour(80,20,20), shape("rounded"), outline("white"), line(4)
  6. rslider bounds(10, 11, 70, 70), text("Frequency"), channel("freq"), range(20.0, 5000, 160, 0.25), colour(80,20,20), fontcolour("white"), trackercolour(180,120,120)
  7. rslider bounds(75, 11, 70, 70), text("Feedback"), channel("feedback"), range(-0.99, 0.99, 0.9), colour(80,20,20), fontcolour("white"), trackercolour(180,120,120)
  8. rslider bounds(140, 11, 70, 70), text("N.Ords."), channel("ord"), range(1, 256, 32, 0.5,1), colour(80,20,20), fontcolour("white"), trackercolour(180,120,120)
  9. rslider bounds(205, 11, 70, 70), text("Mix"), channel("mix"), range(0, 1.00, 1), colour(80,20,20), fontcolour("white"), trackercolour(180,120,120)
  10. rslider bounds(270, 11, 70, 70), text("Level"), channel("level"), range(0, 1.00, 0.7), colour(80,20,20), fontcolour("white"), trackercolour(180,120,120)
  11. }
  12. </Cabbage>
  13. <CsoundSynthesizer>
  14. <CsOptions>
  15. -d -n
  16. </CsOptions>
  17. <CsInstruments>
  18. sr = 44100 ;SAMPLE RATE
  19. ksmps = 32 ;NUMBER OF AUDIO SAMPLES IN EACH CONTROL CYCLE
  20. nchnls = 2 ;NUMBER OF CHANNELS (2=STEREO)
  21. 0dbfs = 1
  22. ;Author: Iain McCurdy (2012)
  23. instr 1
  24. gkfreq chnget "freq" ;READ WIDGETS...
  25. gkfeedback chnget "feedback" ;
  26. gkord chnget "ord" ;
  27. gkmix chnget "mix" ;
  28. gklevel chnget "level" ;
  29. ;asigL, asigR diskin2 "Seashore.wav",1,0,1 ;
  30. asigL, asigR ins
  31. kporttime linseg 0,0.01,0.03 ;CREATE A VARIABLE THAT WILL BE USED FOR PORTAMENTO TIME
  32. kfreq portk gkfreq, kporttime ;PORTAMENTO IS APPLIED TO 'SMOOTH' SLIDER MOVEMENT
  33. kSwitch changed gkord ;GENERATE A MOMENTARY '1' PULSE IN OUTPUT 'kSwitch' IF ANY OF THE SCANNED INPUT VARIABLES CHANGE. (OUTPUT 'kSwitch' IS NORMALLY ZERO)
  34. if kSwitch=1 then ;IF I-RATE VARIABLE CHANGE TRIGGER IS '1'...
  35. reinit UPDATE ;BEGIN A REINITIALISATION PASS FROM LABEL 'UPDATE'
  36. endif ;END OF CONDITIONAL BRANCH
  37. UPDATE: ;BEGIN A REINITIALISATION PASS FROM HERE
  38. aphaserl phaser1 asigL, kfreq, gkord, gkfeedback ;PHASER1 IS APPLIED TO THE LEFT CHANNEL
  39. aphaserr phaser1 asigR, kfreq, gkord, gkfeedback ;PHASER1 IS APPLIED TO THE RIGHT CHANNEL
  40. rireturn ;RETURN FROM REINITIALISATION PASS TO PERFORMANCE TIME PASSES
  41. amixL ntrpol asigL,aphaserl,gkmix
  42. amixR ntrpol asigR,aphaserr,gkmix
  43. outs amixL*gklevel, amixR*gklevel ;PHASER OUTPUT ARE SENT TO THE SPEAKERS
  44. endin
  45. </CsInstruments>
  46. <CsScore>
  47. i 1 0 [3600*24*7]
  48. </CsScore>
  49. </CsoundSynthesizer>