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.

96 lines
3.2KB

  1. <Cabbage>
  2. form caption("phaser2") size(565, 90), pluginID("phs2")
  3. image pos(0, 0), size(565, 90), colour(0,0,25), shape("rounded"), outline("white"), line(4)
  4. rslider bounds(10, 11, 70, 70), text("Frequency"), channel("freq"), range(20.0, 5000, 160, 0.25), colour(100,100,200), trackercolour(silver)
  5. rslider bounds(75, 11, 70, 70), text("Q"), channel("q"), range(0.0001,4,3), colour(100,100,200), trackercolour(silver)
  6. rslider bounds(140, 11, 70, 70), text("N.Ords."), channel("ord"), range(1, 256, 8, 0.5,1), colour(100,100,200), trackercolour(silver)
  7. label bounds(220, 20, 60,12), text("Sep. Mode")
  8. rslider bounds(290, 11, 70, 70), text("Separation"), channel("sep"), range(-3, 3.00, 0.9), colour(100,100,200), trackercolour(silver)
  9. rslider bounds(355, 11, 70, 70), text("Feedback"), channel("feedback"), range(-0.99, 0.99, 0.9), colour(100,100,200), trackercolour(silver)
  10. rslider bounds(420, 11, 70, 70), text("Mix"), channel("mix"), range(0, 1.00, 1), colour(100,100,200), trackercolour(silver)
  11. rslider bounds(485, 11, 70, 70), text("Level"), channel("level"), range(0, 1.00, 0.7), colour(100,100,200), trackercolour(silver)
  12. combobox bounds(210, 34, 80,25), channel("mode"), size(100,50), value(1), text("Equal", "Power")
  13. }
  14. </Cabbage>
  15. <CsoundSynthesizer>
  16. <CsOptions>
  17. -d -n
  18. </CsOptions>
  19. <CsInstruments>
  20. sr = 44100 ;SAMPLE RATE
  21. ksmps = 32 ;NUMBER OF AUDIO SAMPLES IN EACH CONTROL CYCLE
  22. nchnls = 2 ;NUMBER OF CHANNELS (2=STEREO)
  23. 0dbfs = 1
  24. ;Author: Iain McCurdy (2012)
  25. instr 1
  26. gkfreq chnget "freq" ;READ WIDGETS...
  27. gkq chnget "q" ;
  28. gkmode chnget "mode" ;
  29. gkmode init 1
  30. gkmode init i(gkmode)-1
  31. gksep chnget "sep" ;
  32. gkfeedback chnget "feedback" ;
  33. gkord chnget "ord" ;
  34. gkmix chnget "mix" ;
  35. gklevel chnget "level" ;
  36. ;asigL, asigR diskin2 "Seashore.wav",1,0,1 ;USE SOUND FILE FOR TESTING
  37. asigL, asigR ins
  38. kporttime linseg 0,0.01,0.03 ;CREATE A VARIABLE THAT WILL BE USED FOR PORTAMENTO TIME
  39. kfreq portk gkfreq, kporttime ;PORTAMENTO IS APPLIED TO 'SMOOTH' SLIDER MOVEMENT
  40. kq portk gkq, kporttime ;PORTAMENTO IS APPLIED TO 'SMOOTH' SLIDER MOVEMENT
  41. ksep portk gksep, kporttime ;PORTAMENTO IS APPLIED TO 'SMOOTH' SLIDER MOVEMENT
  42. kSwitch changed gkord,gkmode ;GENERATE A MOMENTARY '1' PULSE IN OUTPUT 'kSwitch' IF ANY OF THE SCANNED INPUT VARIABLES CHANGE. (OUTPUT 'kSwitch' IS NORMALLY ZERO)
  43. if kSwitch=1 then ;IF I-RATE VARIABLE CHANGE TRIGGER IS '1'...
  44. reinit UPDATE ;BEGIN A REINITIALISATION PASS FROM LABEL 'UPDATE'
  45. endif ;END OF CONDITIONAL BRANCH
  46. UPDATE: ;BEGIN A REINITIALISATION PASS FROM HERE
  47. aphaserl phaser2 asigL, kfreq, kq, gkord, gkmode, ksep, gkfeedback ; PHASER2 IS APPLIED TO THE LEFT CHANNEL
  48. aphaserr phaser2 asigR, kfreq, kq, gkord, gkmode, ksep, gkfeedback ; PHASER1 IS APPLIED TO THE RIGHT CHANNEL
  49. rireturn ;RETURN FROM REINITIALISATION PASS TO PERFORMANCE TIME PASSES
  50. amixL ntrpol asigL,aphaserl,gkmix
  51. amixR ntrpol asigR,aphaserr,gkmix
  52. outs amixL*gklevel, amixR*gklevel ;PHASER OUTPUTS ARE SENT OUT
  53. endin
  54. </CsInstruments>
  55. <CsScore>
  56. i 1 0 [3600*24*7]
  57. </CsScore>
  58. </CsoundSynthesizer>