{ "fold": { "prefix": "fold", "body": ["// {{{ $1", "$TM_SELECTED_TEXT$0", "// }}}"] }, "nextbar": { "prefix": ["nextbar", "nb"], "body": ["(", "t.playNextBar({", " $TM_SELECTED_TEXT$1", "});", ")"] }, "playQuant": { "prefix": ["pq"], "body": ["(", "t.playQuant($1, {", " $TM_SELECTED_TEXT$2", "});", ")"] }, "playQuant No block": { "prefix": ["pqq"], "body": ["t.playQuant($1, {", " $TM_SELECTED_TEXT$2", "});"] }, "playSeq": { "prefix": ["ps"], "body": ["(", "t.playSeq($1, $2, {", " $TM_SELECTED_TEXT$3", "}$0);", ")"] }, "playSeq No block": { "prefix": ["pss"], "body": ["t.playSeq($1, $2, {", " $TM_SELECTED_TEXT$3", "}$0);"] }, "block": { "prefix": ["("], "body": ["(", " $TM_SELECTED_TEXT$1", ")"] }, "brace": { "prefix": ["{"], "body": ["{", " $TM_SELECTED_TEXT$1", "}"] }, "doneAction": { "prefix": ["da"], "body": ["doneAction: Done.freeSelf"] }, "DetectSilence": { "prefix": ["ds"], "body": ["DetectSilence.ar(${1:sig}, doneAction: Done.freeSelf);"] }, "ProxySpace": { "prefix": ["proxyspace", "proxy"], "body": ["p = ProxySpace.push(s);"] }, "OSC debug": { "prefix": ["oscdebug"], "body": [ "(", "f = { |msg, time, addr|", " if(msg[0] != '/status.reply') {", " \"time: % sender: %\nmessage: %\n\".postf(time, addr, msg);", " }", "};", "thisProcess.addOSCRecvFunc(f);", ");", "thisProcess.removeOSCRecvFunc(f);" ] }, "setup": { "prefix": ["setup"], "body": [ "(", "SA.setup;", "t = TempoClock.default;", "t.bpm = 120;", "p = currentEnvironment;", ")" ] }, "PBjorklund2": { "prefix": ["Pb", "pb"], "body": "Pbjorklund2(" }, "amen": { "prefix": ["amen"], "body": "\"oox[ X][ X][oo]x[ X]\"" }, "postln": { "prefix": ["pl"], "body": "\"$1\".postln;" }, "New node proxy": { "prefix": "new", "body": ["(", "~$1.playM(${2:0});", "~$1[0] = $0", ")"] }, "SynthDef": { "prefix": "synthdef", "body": [ "SynthDef(\\\\$1, {", " |out=0, amp=0.1, pan=0, freq=440, atk=0.01, decay=0.1, rel=0.2, sustainLevel=0.5, cAtk=(-2), cDec=(-2), cRel=(-4), gate=1|", " var sig, env;", " env = EnvGen.kr(", " Env.adsr(atk, decay, sustainLevel, rel, curve: [cAtk,cDec,cRel]),", " gate: gate,", " doneAction: Done.freeSelf);", " sig = SinOsc.ar(freq);", " $0", " sig = env * Pan2.ar(sig, pan, amp);", " Out.ar(out, sig);", "}).add;" ] }, "Filter FX": { "prefix": "fx", "body": [ "~$1[$2] = \\filter -> {|sig|", " $0", "};", "~$1.set(\\wet$2, 1);" ] }, "FX Bitcrush": { "prefix": ["fxbitcrush", "fxbc"], "body": [ "var bits=\\bits.kr(4, 2); // 1 to 24", "var crush=\\crush.kr(0, 2);", "Decimator.ar(sig, rate: 44100/crush, bits: bits);" ] }, "FX Chop": { "prefix": ["fxchop"], "body": ["sig * LFPulse.kr(\\chop.kr(4, 2) * t.tempo, add: 0.01);"] }, "FX Delay": { "prefix": ["fxdelay", "fxd"], "body": [ "var delay = \\delay.kr(0.25);", "var count = \\delaycount.kr(8);", "sig + CombL.ar(sig,", " maxdelaytime: delay,", " delaytime: delay / t.tempo,", " decaytime: count * delay,", " mul: \\delaydecay.kr(0.8)", ");" ] }, "FX Reverb": { "prefix": ["fxreverb", "fxr"], "body": [ "FreeVerb.ar(sig,", " 1, // dry/wet mix (control via wet1/wet2/etc)", " \\room.kr(0.5), // room size from 0-1", " \\roomdamp.kr(0.5), // HF dampening from 0-1", ");" ] }, "FX Tremolo": { "prefix": ["fxtremolo", "fxt"], "body": ["sig * SinOsc.ar( \\tremolo.kr(16) / t.tempo, mul:0.5, add:0.5);"] }, "FX Vibrato": { "prefix": ["fxvibrato", "fxv"], "body": ["Vibrato.ar(sig, \\vibrato.kr(0), \\vibratodepth.kr(0.02));"] }, "FX HPF": { "prefix": ["fxhpf"], "body": ["RHPF.ar(sig, \\hpf.kr(1000));"] }, "FX LPF": { "prefix": ["fxlpf"], "body": ["RLPF.ar(sig, \\lpf.kr(800));"] }, "FX BPF": { "prefix": ["fxbpf"], "body": ["BPF.ar(sig, \\bpf.kr(440), \\bpfrq.kr(1));"] }, "FX Formant": { "prefix": ["fxformant"], "body": [ "var formant = (\\formant.kr(0, 1) % 8) + 1;", "Formlet.ar(sig, formant * 200, ((formant % 5 + 1)) / 1000, (formant * 1.5) / 600).tanh;" ] }, "FX Distortion 2": { "prefix": ["fxdistortion2", "fxdist2"], "body": [ "var tmp = sig;", "sig = CrossoverDistortion.ar(sig, amp:0.2, smooth:0.01);", "sig = sig + (0.1 * \\dist.kr(0.2,0.1) * DynKlank.ar(`[[60,61,240,3000 + SinOsc.ar(62,mul:100)],nil,[0.1, 0.1, 0.05, 0.01]], sig));", "sig = (sig.cubed * 8).softclip * 0.5;", "sig = SelectX.ar(\\dist.kr(0.2,0.1), [tmp, sig]);" ] }, "FX Distortion": { "prefix": ["fxdistortion", "fxdist"], "body": [ "var gain = \\gain.kr(0).linlin(0,1,1,0.01);", "var distortion = \\distortion.kr(0).linlin(0,1,-0.9,1);", "sig = Select.ar(distortion > 0,", " // Bring the clipping plane closer to 0 as distortion approaches -1", " [sig.clip2(max(gain+distortion*gain, 0.01)),", " // For distortion > 0, only affect the negative side of the signal", " Select.ar(sig > 0, [", " // Gradually map negative signal values to abs value", " sig.linlin(-1,0,distortion.linlin(0,1,-1,1),0).clip2(gain),", " sig,", " ])", "]);" ] }, "FX Wa-wa": { "prefix": ["fxwawa", "fxw"], "body": [ "var center = \\waCenter.kr(440,1);", "var width = \\waWidth.kr(0.5,0.1);", "var wobble = SinOsc.ar(\\waRate.kr(8,0.1)/t.tempo, mul: center * width);", "BPF.ar(sig, center + wobble, \\waRq.kr(1));" ] }, "FX Pan": { "prefix": "fxpan", "body": [ "Balance2.ar(sig[0], sig[1], \\fxpan.kr(0.8) * LFNoise1.ar(\\fxpanrate.kr(10), mul: 2, add: -1));" ] }, "FX Flanger": { "prefix": ["fxflanger", "fxflange"], "body": [ "sig = sig + LocalIn.ar(2);", "sig = DelayN.ar(sig,0.02,SinOsc.kr(\\flangehz.kr(0.1),0,0.005,0.005));", "LocalOut.ar(\\flangefb.kr(0.1)*sig);", "sig;" ] }, "FX Greyhole": { "prefix": ["fxgreyhole", "fxgrey"], "body": [ "Greyhole.ar(sig,", " delayTime:\\ghDelay.kr(0.1),", " feedback:\\ghFB.kr(0.6),", " diff:\\ghDiff.kr(0.707),", " damp:\\ghDamp.kr(0.2),", " modDepth:\\ghMDepth.kr(0.8),", " modFreq:\\ghMFreq.kr(0.3),", ");" ] }, "FX NHHall": { "prefix": ["fxnhhall", "fxhall"], "body": [ "NHHall.ar(sig,", " \\nhDecay.kr(1),", " \\nhStereo.kr(0.5),", " \\nhLowFreq.kr(200),", " \\nhLowRatio.kr(0.5),", " \\nhHiFreq.kr(4000),", " \\nhHiRatio.kr(0.5),", " \\nhEarlyDiffusion.kr(0.5),", " \\nhLateDiffusion.kr(0.5),", " \\nhModRate.kr(0.2),", " \\nhModDepth.kr(0.3),", ");" ] }, "FX EQ": { "prefix": ["fxeq"], "body": [ "sig = BPeakEQ.ar(sig, \\eqLoHz.kr(200), 1, \\eqLo.kr(0));", "sig = BPeakEQ.ar(sig, \\eqMidHz.kr(600), 1, \\eqMid.kr(0));", "sig = BPeakEQ.ar(sig, \\eqHiHz.kr(1200), 1, \\eqHi.kr(0));" ] }, "FX Phaser": { "prefix": ["fxphaser", "fxph"], "body": [ "var maxDelay = \\phMaxdelay.kr(0.01);", "var minDelay = \\phMindelay.kr(0.001);", "AllpassC.ar(sig, maxDelay,", " SinOsc.ar(\\phRate.kr(1), 0, (maxDelay * 0.5) - minDelay, (maxDelay * 0.5) + minDelay),", " \\phDecay.kr(1));" ] }, "FX Chorus": { "prefix": ["fxchorus"], "body": [ "var numDelays = 8;", "var numOutChan = 2;", "var mods = { |i|", " FSinOsc.kr(\\chSpeed.kr(1) * rrand(0.9, 1.1),", " \\chPhase.kr(0) * i,", " \\chDepth.kr(0.001),", " \\chPredelay.kr(0.001));", "} ! (numDelays * numOutChan);", "sig = DelayL.ar(sig, 0.5, mods);", "Mix(sig.clump(numOutChan)) / numDelays;" ] }, "FX Filtered Chorus": { "prefix": ["fxfchorus", "fxchorusfilter", "fxchorusf"], "body": [ "var lo, hi, mods, indexBase;", "var numDelays = 8;", "var numOutChan = 2;", "lo = LPF.ar(sig, \\chCrossover.kr(100));", "hi = HPF.ar(sig, \\chCrossover.kr(100));", "mods = { |i|", " SinOsc.kr(\\chSpeed.kr(1) * rrand(0.9, 1.1),", " \\chPhase.kr(0) * i,", " \\chDepth.kr(0.001),", " \\chPredelay.kr(0.001));", "} ! (numDelays * numOutChan);", "sig = DelayL.ar(hi, 0.5, mods) / numDelays;", "indexBase = (0, numOutChan .. mods.size-1);", "hi = { |i| Mix(sig[indexBase + i]) } ! numOutChan;", "lo = lo + hi;", "XFade2.ar(sig, lo, \\chXfade.kr(0))" ] } }