diff --git a/Classes/BuboBoot.sc b/Classes/BuboBoot.sc index bc8810f..a9ab1a2 100644 --- a/Classes/BuboBoot.sc +++ b/Classes/BuboBoot.sc @@ -6,7 +6,7 @@ Boot { *new { - arg configPath, samplePath; + arg configPath, samplePath, soundDevice; var s = Server.default; var p; var c; var t; var banner = "┳┓ ┓ ┳┓\n" @@ -31,7 +31,7 @@ Boot { s.options.memSize = 8192 * 64; s.options.numWireBufs = 2048; s.options.maxNodes = 1024 * 32; - s.options.device = "BlackHole 16ch"; + (if soundDevice != nil, { s.options.device = soundDevice }); s.options.numOutputBusChannels = 16; s.options.numInputBusChannels = 16; @@ -46,7 +46,6 @@ Boot { Server.default.waitForBoot({ "-> Loading config from: %".format(configPath ? (this.localPath +/+ "Startup.scd")).postln; (configPath ? (this.localPath +/+ "Startup.scd")).load; - // StageLimiter.activate; // NOTE: replaced by SafetyNet Safety.setLimit(0.8); this.fancyPrint(ready, 40); this.installServerTreeBehavior(); @@ -87,5 +86,4 @@ Boot { currentEnvironment.play; }); } - } diff --git a/Classes/BuboNodeProxy.sc b/Classes/BuboNodeProxy.sc index c1e4126..37b8a6e 100644 --- a/Classes/BuboNodeProxy.sc +++ b/Classes/BuboNodeProxy.sc @@ -3,6 +3,7 @@ fx { arg number=1, wet=1, function = {|in| in}; this[number] = \filter -> function; + if (wet > 1, {wet = 1}); this.set(("wet" ++ number).asSymbol, wet); ^this; } diff --git a/Classes/Configuration/Synthdefs.scd b/Classes/Configuration/Synthdefs.scd index d2df77e..35491d1 100644 --- a/Classes/Configuration/Synthdefs.scd +++ b/Classes/Configuration/Synthdefs.scd @@ -12,6 +12,9 @@ f.vardel = { SinOsc.ar(c.beatDur * 4).range(500, 2000)); }; +/* +* This is the sampler used for 90% of sampling duties. +*/ ( z = SynthDef.new(\s, { arg buf, out=0, freq=440, rate=1, amp=1, begin=0, end=1, pan=0, attack=0.01, release=1, loop=0; @@ -20,7 +23,7 @@ f.vardel = { var startPos = begin * BufFrames.kr(buf); var endPos = end * BufFrames.kr(buf); // TODO: unused sig = PlayBuf.ar( - numChannels: 1, + numChannels: 2, bufnum: buf, rate:BufRateScale.kr(buf) * (rate * freq / 60.midicps), trigger: 1, startPos:startPos,