// 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) )