From 9c3dd3c7b2f70f3cefe3f468cfc31576b3b6c909 Mon Sep 17 00:00:00 2001 From: Rob Canning Date: Fri, 25 Nov 2022 14:46:36 +0100 Subject: [PATCH] gui/parameter updates --- gtr-gui-manual.scd | 41 ++++++++----- gtr.scd | 140 +++++++++++++++++++++++++-------------------- 2 files changed, 104 insertions(+), 77 deletions(-) diff --git a/gtr-gui-manual.scd b/gtr-gui-manual.scd index 7380b2b..c282e59 100644 --- a/gtr-gui-manual.scd +++ b/gtr-gui-manual.scd @@ -99,10 +99,8 @@ l.criticalColor = Color.red(0.5); ///////////// END OF INPUT GUI BOX - // ------------- GRAIN GUI - ~grainGui = CompositeView.new(w, bounds:Rect(540,80,350,560)) .background_(Color.white) .alwaysOnTop_(true); @@ -113,40 +111,56 @@ VLayout( StaticText(~grainGui, Rect(50,50,200,30)).string_("gSYNTH////").background_(Color.rand).stringColor_(Color.black).font_(Font.default.size_(30)); - StaticText(~grainGui, Rect(50,50,300,40)).string_("PLAYHEAD MODE").background_(Color.clear).stringColor_(Color.black).font_(Font.default.size_(30)); - ~positionModeGui = QPopUpMenu(~grainGui, Rect(10, 50, 300, 40)) + ~posModeGui = QPopUpMenu(~grainGui, Rect(10, 50, 300, 40)) .items_([0, "Static", "Looping","Randomise","Constrained", "Sensor", 6, 7]) .font_(Font.default.size_(35)).background_(Color.yellow); StaticText(~grainGui, Rect(50,50,300,40)).string_("PITCH MODE").background_(Color.clear).stringColor_(Color.black).font_(Font.default.size_(30)); ~pitchModeGui = QPopUpMenu.new(~grainGui, Rect(10,100,300,40)) - .items_([0,1,2,3,4,5,6,7]) - .font_(Font.default.size_(35)) + .items_([ + "0: NO TRANSPOSITION", + "1: + OCTAVE", + "2: - OCTAVE", + "3: 1 : 1.1 RANDOM SEMI/MIKTRO/TONES", + "4: .25 : 5 LOW 5 OCTAVES", + "5: 0.1 : 100 ", + "6: 10 : 1000", + "7: SENSOR --> RANDRATE", + ]) + .font_(Font.default.size_(20)) .stringColor_(Color.black).background_(Color.yellow); StaticText(~grainGui, Rect(50,50,300,40)).string_("DURATION MODE").background_(Color.clear).stringColor_(Color.black).font_(Font.default.size_(30)); ~durModeGui = QPopUpMenu.new(~grainGui, Rect(10,150,300,40)) - .items_([0, 1,2,3,4,5,6,7]) - .font_(Font.default.size_(35)) + .items_([ + "0: baseDur 1 durRand 1", + "1: baseDur 1/2 durRand 1", + "2: baseDur 1/4 durRand 1", + "3: baseDur 1/8 durRand 1", + "4: baseDur 1/16 durRand 1", + "5: baseDur 1 durRand 100", + "5: baseDur 1 durRand 1000", + "7: SENSOR --> RANDRATE", + ]) + .font_(Font.default.size_(20)) .value_(0) .stringColor_(Color.black).background_(Color.yellow); - StaticText(~grainGui, Rect(50,50,300,40)).string_("DENSITY / VOICES").background_(Color.clear).stringColor_(Color.black).font_(Font.default.size_(30)); + StaticText(~grainGui, Rect(50,50,300,40)).string_("DENSITY").background_(Color.clear).stringColor_(Color.black).font_(Font.default.size_(30)); - - ~densityModeGui = QPopUpMenu.new(~grainGui, Rect(10,200,300,40)) + ~densityModeGui = QPopUpMenu.new(~grainGui, Rect(10,200,100,40)) .items_(["1","2","3","5","8","13","21", "34", "55","89","144","233", "377"]) .font_(Font.default.size_(35)).background_(Color.yellow); StaticText(~grainGui, Rect(50,50,300,40)).string_("IMPULSE MODE").background_(Color.clear).stringColor_(Color.black).font_(Font.default.size_(30)); ~impulseModeGui = QPopUpMenu.new(~grainGui, Rect(10,250,300,40)) - .items_(["Impulse","Dust","Array"]) - .font_(Font.default.size_(35)).background_(Color.yellow); + .items_(["SYNCHRONIOUS","ASYNCHRONIOUS","Array"]) + .font_(Font.default.size_(20)).background_(Color.yellow); ~gPanModeGui = QPopUpMenu(~grainGui, Rect(10, 300, 220, 30)) .items_(["OFF","STEREO FRONT","STEREO BACK", "STEREO PAN", "STEREO RND", "QUAD", "QUAD ROTATE", "QUAD RANDOM" ]).font_(Font.default.size_(24)); @@ -157,7 +171,6 @@ VLayout( }); - ); // ------------- GRAIN GUI END diff --git a/gtr.scd b/gtr.scd index 23cbb54..44007c1 100644 --- a/gtr.scd +++ b/gtr.scd @@ -107,7 +107,7 @@ SynthDef("ringModulator", { -// ---------~positionMode = 1; ------------------------------------------- +// ---------~posMode = 1; ------------------------------------------- /*( // Granulator --------------------------------------r.get(\in).postln; @@ -122,7 +122,7 @@ SynthDef("ringModulator", { SynthDef(\buf_grain, { | out=0, gate = 1, amp = 0.5, sndbuf, envbuf, pan=0, imp=50, pitchmodeindex=0, sensorpitch=1, sensorgdur=0.1, sensorgpan=0, - positionmodeindex=0, gdurmodeindex=0, gpanmodeindex=0, + posModeindex=0, gdurmodeindex=0, gpanmodeindex=0, sensorposition=0, impulsemodeindex=0, sensorimpulse=0, signalChannelIndex=1, dseqarrayIndex=1, rlow= -1, rhigh=10 | @@ -131,7 +131,7 @@ SynthDef(\buf_grain, { | out=0, gate = 1, amp = 0.5, pitchmode0, pitchmode1, pitchmode2,pitchmode3,pitchmode4,pitchmode5, pitchmode6, pitch, gdurmode0, gdurmode1, gdurmode2, gdurmode3, gdurmode4, gdurmode5, gdurmode6, gdur, gpanmode0, gpanmode1, gpanmode2,gpanmode3, gpanmode4, gpanmode5,gpanmode6, gpanmode7, gpanmode8, gpan, - positionmode0, positionmode1, positionmode2, positionmode3, position, + posMode0, posMode1, posMode2, posMode3, position, impulsemode0, impulsemode1, impulse, xdseq, dseq_array1, dseq_array2, dseq_array3, dseq_array4, dseq_array5, dseq_array6, stereosignal, quadsignalL, quadsignalR, quadsignal, signalchannels; @@ -180,13 +180,13 @@ SynthDef(\buf_grain, { | out=0, gate = 1, amp = 0.5, [pitchmode0, sensorpitch, pitchmode1, pitchmode2 ,pitchmode3, pitchmode4, pitchmode5, pitchmode6]); // granular playhead mode - fixed random or sensor controlled - positionmode0 = 0.2; - positionmode1 = (Phasor.ar(0.01, 1 * BufRateScale.ir(b), 0, BufSamples.ir(b)) + LFNoise1.ar(100).bipolar(0.1 * SampleRate.ir) ) / BufSamples.ir(b); - positionmode2 = LFNoise1.kr.range(0.05, (BufSamples.ir(b)-1) - 1000 ); - positionmode3 = LFNoise1.kr.range(0.1, 3.8 ); + posMode0 = 0.2; + posMode1 = (Phasor.ar(0.01, 1 * BufRateScale.ir(b), 0, BufSamples.ir(b)) + LFNoise1.ar(100).bipolar(0.1 * SampleRate.ir) ) / BufSamples.ir(b); + posMode2 = LFNoise1.kr.range(0.05, (BufSamples.ir(b)-1) - 1000 ); + posMode3 = LFNoise1.kr.range(0.1, 3.8 ); - position = Select.kr(positionmodeindex, - [positionmode0, positionmode1, positionmode2, positionmode3, sensorposition]); + position = Select.kr(posModeindex, + [posMode0, posMode1, posMode2, posMode3, sensorposition]); // grain impulse frequency mode - random, metric or sensor based impulse modes impulsemode0 = Impulse.kr(imp); @@ -223,6 +223,8 @@ SynthDef.new(\ptr, { Out.ar(out, sig); }).add; +b.numFrames; + SynthDef.new(\rec, { arg ptrIn=0, micIn=0, buf=0; var ptr, sig; @@ -313,7 +315,7 @@ SynthDef.new(\gran, { SynthDef(\buf_grain, { | out=0, gate = 1, amp = 0.5, sndbuf, envbuf, pan=0, imp=50, pitchmodeindex=0, sensorpitch=1, sensordensity=1, sensorgdur=0.1, sensorgpan=0, - positionmodeindex=0, gdurmodeindex=0, gpanmodeindex=0, densitymodeindex=0, + posModeindex=0, gdurmodeindex=0, gpanmodeindex=0, densitymodeindex=0, sensorposition=0, impulsemodeindex=0, sensorimpulse=0, signalChannelIndex=1, dseqarrayIndex=1, rlow= -1, rhigh=10 | @@ -322,7 +324,7 @@ SynthDef(\buf_grain, { | out=0, gate = 1, amp = 0.5, pitchmode0, pitchmode1, pitchmode2,pitchmode3,pitchmode4,pitchmode5, pitchmode6, pitch, gdurmode0, gdurmode1, gdurmode2, gdurmode3, gdurmode4, gdurmode5, gdurmode6, gdur, gpanmode0, gpanmode1, gpanmode2, gpan, - positionmode0, positionmode1, positionmode2, positionmode3, position, + posMode0, posMode1, posMode2, posMode3, position, densmode0,densmode1,densmode2,densmode3,densmode4,densmode5,densmode6,densmode7, density, impulsemode0, impulsemode1, impulse, xdseq, dseq_array1, dseq_array2, dseq_array3, dseq_array4, dseq_array5, dseq_array6, @@ -377,13 +379,13 @@ SynthDef(\buf_grain, { | out=0, gate = 1, amp = 0.5, [pitchmode0, sensorpitch, pitchmode1, pitchmode2 ,pitchmode3, pitchmode4, pitchmode5, pitchmode6]); // granular playhead mode - fixed random or sensor controlled - positionmode0 = 0.2; - positionmode1 = (Phasor.ar(0.01, 1 * BufRateScale.ir(b), 0, BufSamples.ir(b)) + LFNoise1.ar(100).bipolar(0.1 * SampleRate.ir) ) / BufSamples.ir(b); - positionmode2 = LFNoise1.kr.range(0.05, (BufSamples.ir(b)-1) - 1000 ); - positionmode3 = LFNoise1.kr.range(0.1, 3.8 ); + posMode0 = 0.2; + posMode1 = (Phasor.ar(0.01, 1 * BufRateScale.ir(b), 0, BufSamples.ir(b)) + LFNoise1.ar(100).bipolar(0.1 * SampleRate.ir) ) / BufSamples.ir(b); + posMode2 = LFNoise1.kr.range(0.05, (BufSamples.ir(b)-1) - 1000 ); + posMode3 = LFNoise1.kr.range(0.1, 3.8 ); - position = Select.kr(positionmodeindex, - [positionmode0, positionmode1, positionmode2, positionmode3, sensorposition]); + position = Select.kr(posModeindex, + [posMode0, posMode1, posMode2, posMode3, sensorposition]); // grain impulse frequency mode - random, metric or sensor based impulse modes impulsemode0 = Impulse.kr(imp); @@ -400,7 +402,7 @@ SynthDef(\buf_grain, { | out=0, gate = 1, amp = 0.5, }).add; )*/ -(( // RUNME 3 ========================================== +( // RUNME 3 ========================================== // START SYNTHS --------------------------------- @@ -409,32 +411,32 @@ SynthDef(\buf_grain, { | out=0, gate = 1, amp = 0.5, ~reverbFX = Synth(\freeVerb, [\in, ~reverbBus], ~fxGroup); ~ringMod = Synth(\ringModulator, [\in, ~ringModBus], ~fxGroup); - ( // granular synth - b.zero; ~g = 1.collect({ arg n; Synth(\gran,[ - \amp, n.linlin(0,4, -3,-20).dbamp, + \amp, 0.15, + // \amp, n.linlin(0,4, -3,-20).dbamp, \buf, b, // which buffer \out, 0, \atk, 1, \rel, 1, \gate, 1, \sync, 1, - \dens, exprand(2,80), + \dens, 21, // exprand(2,80), \baseDur, 1, //0.08 - \durRand, 5, + \durRand, 1, \rate, 1, - \rateRand, 2, + \rateRand, 1, \pan, 0, - \panRand, 1.5, + \panRand, 1, \grainEnv, -1, - \ptrBus, ~ptrBus, - \ptrSampleDelay, n.linlin(0,4, 20000, s.sampleRate*2), - \ptrRandSamples, 2000, - \minPtrDelay, 1000, + \ptrBus, ~ptrBus, // make different style ptrs + //\ptrSampleDelay, n.linlin(0,4, 20000, s.sampleRate*2), + \ptrSampleDelay, 20000, // how far pointer lags behind write head + \ptrRandSamples, 2000, // how much to randomly jump around + \minPtrDelay, 1000, // dont get any closer to the ptr than this ], ~granGrp); }); ); @@ -451,7 +453,7 @@ OSCFunc.trace(false); // Turn posting off (( // OSC Receivers // ENABLE SENSOR AND SWITCH VALUES <-- // ---------------------------------------------------- -~overdubMode= 0; ~pitchMode = 0; ~positionMode = 0; ~impulseMode = 1; +~overdubMode= 0; ~pitchMode = 0; ~posMode = 0; ~impulseMode = 1; ~gdurMode=0; ~gpanMode=0; ~channelmode=0; ~instrPanMode=0; @@ -474,7 +476,8 @@ OSCFunc.trace(false); // Turn posting off o = OSCdef(\test, { arg msg, time, addr, recvPort, rlow, rhigh; - ~g.do({arg n; n.set(\rateRand, msg[2].linlin(0, 1, 1, 50).postln; )}; ); + ~g.do({arg n; n.set(\rateRand, msg[2].linlin(0, 1, 1, 50); )}; ); + //~g.do({arg n; n.set(\rateRand, msg[2].linlin(0, 1, 1, 50).postln; )}; ); //~g.do({arg n; n.set(\rate, 1; )}; ); @@ -490,7 +493,7 @@ OSCFunc.trace(false); // Turn posting off // POSITION ------- Z Yaw ~g1.set(\sensorposition, msg[1].linlin(-0.2, 0.6, 0.05, 3.99)); - ~g1.set(\positionmodeindex, ~positionMode ); + ~g1.set(\posModeindex, ~posMode ); // RATE ------- X (roll [with PAN]) @@ -646,30 +649,41 @@ OSCFunc.trace(false); // Turn posting off {~pitchMode == 1 }{{~pitchModeGui.value_(1) }.defer; ~g.do({arg n; n.set(\rate, 2, \rateRand, 1) }); } {~pitchMode == 2 }{{~pitchModeGui.value_(2) }.defer; ~g.do({arg n; n.set(\rate, 0.5, \rateRand, 1) }); } {~pitchMode == 3 }{{~pitchModeGui.value_(3) }.defer; ~g.do({arg n; n.set(\rate, 1, \rateRand, 1.1) }); } - {~pitchMode == 4 }{{~pitchModeGui.value_(4) }.defer; ~g.do({arg n; n.set(\rate, 0.25, \rateRand, 3) }); } - {~pitchMode == 5 }{{~pitchModeGui.value_(5) }.defer; ~g.do({arg n; n.set(\rate, 1, \rateRand, 100) }); } - {~pitchMode == 6 }{{~pitchModeGui.value_(6) }.defer; ~g.do({arg n; n.set(\rate, 100, \rateRand, 1000) }); } + {~pitchMode == 3 }{{~pitchModeGui.value_(3) }.defer; ~g.do({arg n; n.set(\rate, 1, \rateRand, 1.1) }); } + {~pitchMode == 3 }{{~pitchModeGui.value_(3) }.defer; ~g.do({arg n; n.set(\rate, 1, \rateRand, 1.1) }); } + {~pitchMode == 3 }{{~pitchModeGui.value_(3) }.defer; ~g.do({arg n; n.set(\rate, 1, \rateRand, 1.1) }); } + {~pitchMode == 3 }{{~pitchModeGui.value_(3) }.defer; ~g.do({arg n; n.set(\rate, 1, \rateRand, 1.1) }); } + {~pitchMode == 3 }{{~pitchModeGui.value_(3) }.defer; ~g.do({arg n; n.set(\rate, 1, \rateRand, 1.1) }); } + {~pitchMode == 3 }{{~pitchModeGui.value_(3) }.defer; ~g.do({arg n; n.set(\rate, 1, \rateRand, 1.1) }); } + {~pitchMode == 3 }{{~pitchModeGui.value_(3) }.defer; ~g.do({arg n; n.set(\rate, 1, \rateRand, 1.1) }); } + {~pitchMode == 3 }{{~pitchModeGui.value_(3) }.defer; ~g.do({arg n; n.set(\rate, 1, \rateRand, 1.1) }); } + {~pitchMode == 3 }{{~pitchModeGui.value_(3) }.defer; ~g.do({arg n; n.set(\rate, 1, \rateRand, 1.1) }); } + {~pitchMode == 3 }{{~pitchModeGui.value_(3) }.defer; ~g.do({arg n; n.set(\rate, 1, \rateRand, 1.1) }); } + {~pitchMode == 3 }{{~pitchModeGui.value_(3) }.defer; ~g.do({arg n; n.set(\rate, 1, \rateRand, 1.1) }); } + {~pitchMode == 4 }{{~pitchModeGui.value_(4) }.defer; ~g.do({arg n; n.set(\rate, 0.25, \rateRand, 5) }); } + {~pitchMode == 5 }{{~pitchModeGui.value_(5) }.defer; ~g.do({arg n; n.set(\rate, 0.1, \rateRand, 100) }); } + {~pitchMode == 6 }{{~pitchModeGui.value_(6) }.defer; ~g.do({arg n; n.set(\rate, 10, \rateRand, 1000) }); } {~pitchMode == 7 }{{~pitchModeGui.value_(7) }.defer; ~g.do({arg n; n.set(\rate, 1) }); }; case {~gdurMode == 0 }{{~durModeGui.value_(0) }.defer; ~g.do({arg n; n.set(\baseDur, 1, \durRand, 1)}); } - {~gdurMode == 1 }{{~durModeGui.value_(1) }.defer; ~g.do({arg n; n.set(\baseDur, 0.008, \durRand, 10.1)}); } - {~gdurMode == 2 }{{~durModeGui.value_(2) }.defer; ~g.do({arg n; n.set(\baseDur, 0.008, \durRand, 100.1)});} - {~gdurMode == 3 }{{~durModeGui.value_(3) }.defer ; ~g.do({arg n; n.set(\baseDur, 0.2, \durRand, 0)});} - {~gdurMode == 4 }{{~durModeGui.value_(4) }.defer} - {~gdurMode == 5 }{{~durModeGui.value_(5) }.defer} - {~gdurMode == 6 }{{~durModeGui.value_(6) }.defer} - {~gdurMode == 7 }{{~durModeGui.value_(7) }.defer}; + {~gdurMode == 1 }{{~durModeGui.value_(1) }.defer; ~g.do({arg n; n.set(\baseDur, 2, \durRand, 1)}); } + {~gdurMode == 2 }{{~durModeGui.value_(2) }.defer; ~g.do({arg n; n.set(\baseDur, 4, \durRand, 1)});} + {~gdurMode == 3 }{{~durModeGui.value_(3) }.defer; ~g.do({arg n; n.set(\baseDur, 1/4, \durRand, 1)});} + {~gdurMode == 4 }{{~durModeGui.value_(4) }.defer; ~g.do({arg n; n.set(\baseDur, 1/8, \durRand, 1)});} + {~gdurMode == 5 }{{~durModeGui.value_(5) }.defer; ~g.do({arg n; n.set(\baseDur, 1/16, \durRand, 1)});} + {~gdurMode == 6 }{{~durModeGui.value_(6) }.defer; ~g.do({arg n; n.set(\baseDur, 1/32, \durRand, 1)});} + {~gdurMode == 7 }{{~durModeGui.value_(7) }.defer; ~g.do({arg n; n.set(\baseDur, 1/64, \durRand, 1)});}; case - {~positionMode == 0 }{{~positionModeGui.value_(0) }.defer; ~g.do({arg n; n.set(\ptrRandSamples, 1) }); } - {~positionMode == 1 }{{~positionModeGui.value_(1) }.defer; ~g.do({arg n; n.set(\ptrRandSamples, 4000) }); } - {~positionMode == 2 }{{~positionModeGui.value_(2) }.defer; ~g.do({arg n; n.set(\ptrRandSamples, 8000) }); } - {~positionMode == 3 }{{~positionModeGui.value_(3) }.defer; ~g.do({arg n; n.set(\ptrRandSamples, 16000) }); } - {~positionMode == 4 }{{~positionModeGui.value_(4) }.defer; ~g.do({arg n; n.set(\ptrRandSamples, 32000) }); } - {~positionMode == 5 }{{~positionModeGui.value_(5) }.defer; ~g.do({arg n; n.set(\ptrRandSamples, 64000) }); } - {~positionMode == 6 }{{~positionModeGui.value_(6) }.defer; ~g.do({arg n; n.set(\ptrRandSamples, 128000) }); } - {~positionMode == 7 }{{~positionModeGui.value_(7) }.defer; ~g.do({arg n; n.set(\ptrRandSamples, 256000) }); }; + {~posMode == 0 }{{~posModeGui.value_(0) }.defer; ~g.do({arg n; n.set(\ptrRandSamples, b.numFrames, \minPtrDelay, 1000) }); } + {~posMode == 1 }{{~posModeGui.value_(1) }.defer; ~g.do({arg n; n.set(\ptrRandSamples, b.numFrames/4, \minPtrDelay, 1000 ) }); } + {~posMode == 2 }{{~posModeGui.value_(2) }.defer; ~g.do({arg n; n.set(\ptrRandSamples, b.numFrames/8, \minPtrDelay, 1000 ) }); } + {~posMode == 3 }{{~posModeGui.value_(3) }.defer; ~g.do({arg n; n.set(\ptrRandSamples, b.numFrames/16, \minPtrDelay, 1000 ) }); } + {~posMode == 4 }{{~posModeGui.value_(4) }.defer; ~g.do({arg n; n.set(\ptrRandSamples, b.numFrames/32) }); } + {~posMode == 5 }{{~posModeGui.value_(5) }.defer; ~g.do({arg n; n.set(\ptrRandSamples, b.numFrames/64) }); } + {~posMode == 6 }{{~posModeGui.value_(6) }.defer; ~g.do({arg n; n.set(\ptrRandSamples, 0.001, \minPtrDelay, 10 ) }); } + {~posMode == 7 }{{~posModeGui.value_(7) }.defer; ~g.do({arg n; n.set(\ptrRandSamples, b.numFrames/200000, \minPtrDelay, 1000;) }); }; case {~densMode == 0 }{{~densityModeGui.value_(0) }.defer; ~g.do({arg n; n.set(\dens, 1, \amp, 1)}); } @@ -697,8 +711,8 @@ OSCFunc.trace(false); // Turn posting off {~gpanMode == 7 }{{~gPanModeGui.value_(7) }.defer; ~g.do({arg n; n.set(\panRand, 0)}); }; case - {~impulseMode == 0 }{{~impulseModeGui.value_(0) }.defer; ~g.do({arg n; n.set(\sync, 0)}); } - {~impulseMode == 1 }{{~impulseModeGui.value_(1) }.defer; ~g.do({arg n; n.set(\sync, 1)}); }; + {~impulseMode == 0 }{{~impulseModeGui.value_(0) }.defer; ~g.do({arg n; n.set(\sync, 1)}); } + {~impulseMode == 1 }{{~impulseModeGui.value_(1) }.defer; ~g.do({arg n; n.set(\sync, 0)}); }; ////////////////// instrument mode gui //////////////////////////// @@ -831,14 +845,14 @@ OSCFunc.trace(false); // Turn posting off { ( ~btn12val = (~btn12val + 1) % 8 ) ; switch(~btn12val, - 0, { ~positionMode = 0; "~positionMode 0 ".postln; }, - 1, { ~positionMode = 1; "~positionMode 1 ".postln; }, - 2, { ~positionMode = 2; "~positionMode 2".postln; }, - 3, { ~positionMode = 3; "~positionMode 3".postln; }, - 4, { ~positionMode = 5; "~positionMode 4".postln; }, - 5, { ~positionMode = 6; "~positionMode 5".postln; }, - 6, { ~positionMode = 7; "~positionMode 6 ".postln; }, - 7, { ~positionMode = 8; "~positionMode 7 ".postln; }, + 0, { ~posMode = 0; "~posMode 0 ".postln; }, + 1, { ~posMode = 1; "~posMode 1 ".postln; }, + 2, { ~posMode = 2; "~posMode 2".postln; }, + 3, { ~posMode = 3; "~posMode 3".postln; }, + 4, { ~posMode = 5; "~posMode 4".postln; }, + 5, { ~posMode = 6; "~posMode 5".postln; }, + 6, { ~posMode = 7; "~posMode 6 ".postln; }, + 7, { ~posMode = 8; "~posMode 7 ".postln; }, ) }); @@ -933,10 +947,10 @@ r.set(\overdub, 0.9); // overdub mode 0 - 0.99 - MAPPED TO SWITCH 4 \ptrSampleDelay, n.linlin(0,4, 20000, s.sampleRate*2), ~g.do({arg n; n.set(\ptrSampleDelay, s.sampleRate * 1) }); -~g.do({arg n; n.set(\ptrRandSamples, 200000 )}); -~g.do({arg n; n.set(\minPtrDelay, 100000 )}); +~g.do({arg n; n.set(\ptrRandSamples, 20000 )}); +~g.do({arg n; n.set(\minPtrDelay, 2000000 )}); -~g.do({arg n; n.set([\baseDur, 0.13])}); +~g.do({arg n; n.set([\baseDur, 10])}); ~g.do({arg n; n.set([\durRand, 1000])});