summaryrefslogtreecommitdiffstats
path: root/scripts/supercollider/example.sc
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/supercollider/example.sc')
-rw-r--r--scripts/supercollider/example.sc27
1 files changed, 27 insertions, 0 deletions
diff --git a/scripts/supercollider/example.sc b/scripts/supercollider/example.sc
new file mode 100644
index 00000000..80a72a7b
--- /dev/null
+++ b/scripts/supercollider/example.sc
@@ -0,0 +1,27 @@
+// Boot Ingen (inside SC) and the scsynth server
+(
+o=Ingen.boot {
+ o.loadPatch("/home/mlang/src/om-synth/src/clients/patches/303.om");
+ s.boot;
+}
+)
+// Connect patch output to one SC input
+o.jackConnect("/303/output", "SuperCollider:in_3");
+// Play this input on the default output bus (most simple postprocessor)
+{AudioIn.ar(3).dup}.play;
+// A simple 303 pattern
+(
+Tempo.bpm=170;
+Ppar([
+ Pbind(\type, \om, \target, o.getPatch("/303",true),
+ \dur, 1/1, \octave,2,\degree, Pseq([Pshuf([0,2,4,6],16)],2)),
+ Pbind(\type, \om, \target, o.getPatch("/303",true),
+ \dur, Prand([Pshuf([1/2,1/4,1/4],4),Pshuf([1/3,1/3,1/6,1/6],4)],inf),
+ \legato, Prand((0.5,0.55..0.9),inf),
+ \octave,3,\degree, Pseq([Pshuf([0,2,4,6],2)],40)),
+ Pbind(\type, \om, \omcmd, \setPortValue,
+ \target, o.getPort("/303/cutoff",true),
+ \dur, 1/10, \portValue, Pseq((0,0.005..1).mirror,2)),
+ Pbind(\type, \om, \omcmd, \setPortValue,
+ \target, o.getPort("/303/resonance",true), \portValue, 1)]).play(quant:4)
+)