adapting gui to new granular method
parent
31a5d4a27a
commit
9543dbd72e
|
@ -134,6 +134,7 @@ VLayout(
|
|||
~durModeGui = QPopUpMenu.new(~grainGui, Rect(10,150,300,40))
|
||||
.items_(["0.1","0.2","0.1 - 1", "0.1 - 1", "0.5 - 1", "0.1 - 3"])
|
||||
.font_(Font.default.size_(35))
|
||||
.value_(~gdurmode)
|
||||
.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));
|
||||
|
@ -151,6 +152,9 @@ VLayout(
|
|||
.font_(Font.default.size_(35)).background_(Color.yellow)
|
||||
.value_(0);
|
||||
|
||||
~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));
|
||||
|
||||
~outAmpModeGui = QSlider(~grainGui, Rect(55, 60, 240, 40)).value_(0.5)
|
||||
.action_({
|
||||
~g1.set(\amp, ~outAmpModeGui.value);
|
||||
|
|
371
gtr.scd
371
gtr.scd
|
@ -1,6 +1,8 @@
|
|||
|
||||
// RUNME 0 =========================================
|
||||
// todo countdown on density voices
|
||||
|
||||
|
||||
( s.reboot{
|
||||
s.options.numBuffers = 1024 * 256; // increase this if you need to load more samples
|
||||
s.options.sampleRate = 44100; // also tried with 44000 value
|
||||
|
@ -14,7 +16,7 @@
|
|||
// RUNME 1 =========================================
|
||||
|
||||
|
||||
( // SETUP -----------------------------------------
|
||||
( // SETUP ---------------=--------------------------
|
||||
// Allocate a 4 second mono buffer
|
||||
b = Buffer.alloc(s, s.sampleRate * 4.0, 1);
|
||||
~b1 = Buffer.alloc(s, s.sampleRate * 4.0, 1);
|
||||
|
@ -45,7 +47,13 @@ s.plotTree;
|
|||
|
||||
// RUNME 2 ==========================================
|
||||
// -------------------------------------------------
|
||||
(( // DEFINE SYNTHS --------------------------------- <--
|
||||
|
||||
|
||||
(( // DEFINE SYNTHS ---------------------------------
|
||||
|
||||
s.meter;
|
||||
|
||||
|
||||
// -------------------------------------------------
|
||||
|
||||
( // direct signal + reverb -------------------------
|
||||
|
@ -79,9 +87,9 @@ SynthDef("freeVerb", {
|
|||
arg in=0;
|
||||
var signal, dry, wet;
|
||||
dry = In.ar(in);
|
||||
wet = FreeVerb.ar(dry, mix:0.5, room:1, damp:0);
|
||||
wet = FreeVerb.ar(dry, mix:0.5, room:0.99, damp:0.5,);
|
||||
signal = wet * 0.9;
|
||||
Out.ar(0, signal);
|
||||
Out.ar(0, signal!2);
|
||||
}).add;
|
||||
);
|
||||
|
||||
|
@ -97,27 +105,12 @@ SynthDef("ringModulator", {
|
|||
);
|
||||
|
||||
|
||||
( // mono buffer recorder ----------------------------
|
||||
// with loop and overdub modes /////////////////////
|
||||
// make record togglable between looping, direct or onset detection trigger
|
||||
|
||||
SynthDef("recBuf",{
|
||||
arg in=0, out=0, bufnum=0, t_trig=0, l=0, overdub=0;
|
||||
var sig, chain, onsets;
|
||||
sig = SoundIn.ar(in);
|
||||
// Onsets
|
||||
chain = FFT(LocalBuf(512), sig);
|
||||
onsets = Onsets.kr(chain, MouseX.kr(0,1), \rcomplex);
|
||||
|
||||
RecordBuf.ar(sig, bufnum, loop:l,
|
||||
preLevel: overdub,
|
||||
doneAction: 0, trigger:t_trig,);
|
||||
}).add;
|
||||
);
|
||||
|
||||
// ---------~positionmode = 1; -------------------------------------------
|
||||
|
||||
( // Granulator --------------------------------------
|
||||
( // Granulator --------------------------------------r.get(\in).postln;
|
||||
|
||||
// ----------------------------------------------------
|
||||
|
||||
// a custom envelope
|
||||
|
@ -126,6 +119,193 @@ SynthDef("recBuf",{
|
|||
//z = Buffer.sendCollection(s, winenv.discretize, 1);
|
||||
// ~rndpos = LFNoise2.kr(0.1).range(0, 1);
|
||||
|
||||
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,
|
||||
sensorposition=0, impulsemodeindex=0, sensorimpulse=0,
|
||||
signalChannelIndex=1, dseqarrayIndex=1,
|
||||
rlow= -1, rhigh=10 |
|
||||
|
||||
var signal, env, freqdev, pos,
|
||||
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,
|
||||
impulsemode0, impulsemode1, impulse,
|
||||
xdseq, dseq_array1, dseq_array2, dseq_array3, dseq_array4, dseq_array5, dseq_array6,
|
||||
stereosignal, quadsignalL, quadsignalR, quadsignal, signalchannels;
|
||||
|
||||
// grain duration mode -untransposed, random, or sensor controlled
|
||||
gdurmode0 = 0.2;
|
||||
gdurmode1 = 0.5;
|
||||
gdurmode2 = LFNoise1.kr.range(0.1, 0.3);
|
||||
gdurmode3 = LFNoise1.kr.range(0.1, 0.6);
|
||||
gdurmode4 = LFNoise1.kr.range(1, 2);
|
||||
gdurmode5 = LFNoise1.kr.range(1, 4);
|
||||
gdurmode6 = LFNoise1.kr.range(4, 4);
|
||||
|
||||
gdur = Select.kr(gdurmodeindex,
|
||||
[gdurmode0, gdurmode1, gdurmode2, gdurmode3, gdurmode4, gdurmode5, gdurmode6, sensorgdur]);
|
||||
|
||||
// grain pan mode STEREO, QUAD, ROTATING
|
||||
gpanmode0 = 0; //LFNoise1.kr(100).range(-0.2, 0.2);
|
||||
gpanmode1 = 1; //LFNoise1.kr(100).range(-0.2, 0.2);
|
||||
gpanmode2 = SinOsc.kr(0.33).range(-0.2, 0.2);
|
||||
gpanmode3 = LFNoise1.kr(10).range(-0.2, 0.2);
|
||||
gpanmode4 = LFSaw.kr(0.33).bipolar.range(-1,1);
|
||||
gpanmode5 = LFNoise1.kr(10).range(-1, 1);
|
||||
gpanmode6 = LFNoise1.kr(10).range(-1, 1);
|
||||
gpanmode7 = LFNoise1.kr(10).range(-1, 1);
|
||||
gpanmode8 = LFNoise1.kr(10).range(-1, 1);
|
||||
gdurmode6 = LFNoise1.kr.range(4, 4);
|
||||
gdurmode6 = LFNoise1.kr.range(4, 4);
|
||||
|
||||
|
||||
gpan = Select.kr(gpanmodeindex,
|
||||
[gpanmode0, gpanmode1, gpanmode2, gpanmode3, gpanmode4, gpanmode5, gpanmode6, gpanmode7, gpanmode8, sensorgpan]);
|
||||
|
||||
// grain pitch mode -untransposed, random, or sensor controlled
|
||||
|
||||
pitchmode0 = 1;
|
||||
//pitchmode1 = Demand.kr(Impulse.kr(imp), 0, Dseq([1,-1, 2, 1, -1.5, 1, 1.33, 1, -0.5, 1, 3, 1, 2.37, 1, -0.33, 1], inf));
|
||||
pitchmode1 = Demand.kr(Impulse.kr(imp), 0, Drand([1,1, 1,1,1,1, 2, 3, 3, 0.5, 0.5], inf));
|
||||
pitchmode2 = Demand.kr(Impulse.kr(imp), 0, Drand(Scale.minor.degrees.midiratio, inf) * Drand([0.5, 0.25,1,2], inf));
|
||||
pitchmode3 = Demand.kr(Impulse.kr(imp), 0, Dseq([1,-1, -0.5, 1, 1.33, 1], inf));
|
||||
pitchmode4 = Demand.kr(Impulse.kr(imp), 0, Drand([0.5, 0.25,1,2], inf));
|
||||
pitchmode5 = Demand.kr(Impulse.kr(imp), 0, Drand(Scale.diminished.degrees.midiratio, inf));
|
||||
pitchmode6 = LFNoise1.kr(imp).range(rlow, rhigh);
|
||||
|
||||
pitch = Select.kr(pitchmodeindex,
|
||||
[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 );
|
||||
|
||||
position = Select.kr(positionmodeindex,
|
||||
[positionmode0, positionmode1, positionmode2, positionmode3, sensorposition]);
|
||||
|
||||
// grain impulse frequency mode - random, metric or sensor based impulse modes
|
||||
impulsemode0 = Impulse.kr(imp);
|
||||
impulsemode1 = Dust.kr(imp);
|
||||
impulse = Select.kr(impulsemodeindex,
|
||||
[impulsemode0, impulsemode1, sensorimpulse]);
|
||||
|
||||
env = EnvGen.kr( Env([0, 1, 0], [1, 1], \sin, 1), gate, levelScale: amp, doneAction: 2);
|
||||
|
||||
signal = TGrains.ar(4, impulse, b, pitch, position, gdur, gpan, amp, 4) * env;
|
||||
|
||||
Out.ar(0, signal);
|
||||
|
||||
}).add;
|
||||
);
|
||||
|
||||
(
|
||||
~micBus = Bus.audio(s,1);
|
||||
~ptrBus = Bus.audio(s,1);
|
||||
);
|
||||
|
||||
(
|
||||
SynthDef.new(\mic, {
|
||||
arg in=0, out=0, amp=1;
|
||||
var sig;
|
||||
sig = SoundIn.ar(in) * amp;
|
||||
Out.ar(out, sig);
|
||||
}).add;
|
||||
|
||||
SynthDef.new(\ptr, {
|
||||
arg out=0, buf=0;
|
||||
var sig;
|
||||
sig = Phasor.ar(0, BufRateScale.kr(buf), 0, BufFrames.kr(buf));
|
||||
Out.ar(out, sig);
|
||||
}).add;
|
||||
|
||||
SynthDef.new(\rec, {
|
||||
arg ptrIn=0, micIn=0, buf=0;
|
||||
var ptr, sig;
|
||||
ptr = In.ar(ptrIn, 1);
|
||||
sig = In.ar(micIn, 1);
|
||||
BufWr.ar(sig, buf, ptr);
|
||||
}).add;
|
||||
|
||||
( // mono buffer recorder ----------------------------
|
||||
// with loop and overdub modes /////////////////////
|
||||
SynthDef("recBuf",{
|
||||
arg in=0, out=0, ptrIn=0, bufnum=0, t_trig=0, l=0, overdub=0;
|
||||
var sig, ptr, chain, onsets;
|
||||
sig = In.ar(in, 1);
|
||||
ptr = In.ar(ptrIn, 1);
|
||||
|
||||
// Onsets
|
||||
//chain = FFT(LocalBuf(512), sig);
|
||||
//onsets = Onsets.kr(chain, MouseX.kr(0,1), \rcomplex);
|
||||
|
||||
RecordBuf.ar(sig, bufnum, loop:l,
|
||||
preLevel: overdub,
|
||||
doneAction: 0, trigger:t_trig, offset: ptr,);
|
||||
}).add;
|
||||
);
|
||||
|
||||
|
||||
|
||||
SynthDef.new(\gran, {
|
||||
arg amp=0.5, out=0, buf=0,
|
||||
atk=1, rel=1, gate=1,
|
||||
sync=1, dens=40,
|
||||
baseDur=0.05, durRand=1,
|
||||
rate=1, rateRand=1,
|
||||
pan=0, panRand=0,
|
||||
grainEnv=(-1), ptrBus=0, ptrSampleDelay=20000,
|
||||
ptrRandSamples=5000, minPtrDelay=1000;
|
||||
|
||||
var sig, env, densCtrl, durCtrl, rateCtrl, panCtrl, ptr, ptrRand, totalDelay, maxGrainDur;
|
||||
|
||||
env= EnvGen.kr(Env.asr(atk,1,rel),gate, doneAction:2);
|
||||
densCtrl = Select.ar(sync, [Dust.ar(dens), Impulse.ar(dens)]);
|
||||
durCtrl = baseDur * LFNoise1.ar(100).exprange(1/durRand, durRand);
|
||||
rateCtrl = rate * LFNoise1.ar(100).exprange(1/rateRand, rateRand);
|
||||
panCtrl = pan + LFNoise1.kr(100).bipolar(panRand);
|
||||
|
||||
ptrRand = LFNoise1.ar(100).bipolar(ptrRandSamples);
|
||||
totalDelay = max(ptrSampleDelay - ptrRand, minPtrDelay); // make sure value doesnt go below this value, which would cross discontinuity point
|
||||
|
||||
ptr = In.ar(ptrBus, 1);
|
||||
ptr = ptr - totalDelay; // how far ptr lags behind discontinuity point
|
||||
ptr = ptr / BufFrames.kr(buf); //normalise to 0 - 1 range
|
||||
|
||||
maxGrainDur = (totalDelay / rateCtrl) / SampleRate.ir;
|
||||
durCtrl = min(durCtrl, maxGrainDur);
|
||||
|
||||
|
||||
sig = GrainBuf.ar(
|
||||
2,
|
||||
densCtrl,
|
||||
durCtrl,
|
||||
buf,
|
||||
rateCtrl,
|
||||
ptr,
|
||||
2,
|
||||
panCtrl,
|
||||
grainEnv
|
||||
);
|
||||
|
||||
sig = sig * env * amp;
|
||||
Out.ar(out, sig);
|
||||
|
||||
}).add;
|
||||
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
)
|
||||
|
||||
( // New Granulator --------------------------------------
|
||||
|
||||
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,
|
||||
|
@ -162,20 +342,7 @@ SynthDef(\buf_grain, { | out=0, gate = 1, amp = 0.5,
|
|||
gpan = Select.kr(gpanmodeindex,
|
||||
[gpanmode0, gpanmode1, gpanmode2, sensorgpan]);
|
||||
|
||||
// grain pitch mode -untransposed, random, or sensor controlled
|
||||
|
||||
Scale.minor.degrees.midiratio;
|
||||
|
||||
/* dseq_array1 = Dseq([1,-1, 2, 1, -1.5, 1, 1.33, 1, -0.5, 1, 3, 1, 2.37, 1, -0.33, 1], inf);
|
||||
dseq_array2 = Dseq([1,-1, -0.5, 1, 1.33, 1], inf);
|
||||
dseq_array3 = Drand([(1..5).mirror.midiratio], inf);
|
||||
dseq_array4 = Drand(Scale.minor.degrees.midiratio, inf);
|
||||
dseq_array5 = Dseq([1,-1, -0.5, 1, 1.33, 1], inf);*/
|
||||
//
|
||||
|
||||
// xdseq = [dseq_array1, dseq_array2,dseq_array3, dseq_array4, dseq_array5];
|
||||
|
||||
//dseqarrayIndex =1;
|
||||
// grain pitch mode -untransposed, random, or sensor controlled
|
||||
|
||||
pitchmode0 = 1;
|
||||
//pitchmode1 = Demand.kr(Impulse.kr(imp), 0, Dseq([1,-1, 2, 1, -1.5, 1, 1.33, 1, -0.5, 1, 3, 1, 2.37, 1, -0.33, 1], inf));
|
||||
|
@ -211,27 +378,32 @@ SynthDef(\buf_grain, { | out=0, gate = 1, amp = 0.5,
|
|||
Out.ar(0, signal);
|
||||
|
||||
}).add;
|
||||
);
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
(( // RUNME 3 ==========================================
|
||||
// START SYNTHS ---------------------------------
|
||||
// ----------------------------------------------------
|
||||
|
||||
r = Synth(\recBuf, [\in, 0, \out, 0, \bufnum, b, \t_trig, 0]); // recorder
|
||||
~g1 = Synth(\buf_grain, [\sndbuf, b, \amp, 0.5, \envbuf, -1, \gate, 1, doneAction: 2, ], ~fxGroup); // granulate
|
||||
~gtrIn = Synth(\dryIn, [\instrAmp, 1, \out, ~ringModBus], ~sourceGroup); // dry audio signaL
|
||||
~gtrIn = Synth(\dryIn, [\instrAmp, 1, \out, ~reverbBus], ~sourceGroup); // dry audio signaL
|
||||
~reverbFX = Synth(\freeVerb, [\in, ~reverbBus], ~fxGroup);
|
||||
~ringMod = Synth(\ringModulator, [\in, ~ringModBus], ~fxGroup);
|
||||
|
||||
));
|
||||
|
||||
r.get(\in).value;
|
||||
|
||||
~ringMod.set(\in, 9);
|
||||
~gtrIn.set(\out, 0);
|
||||
~gtrIn.set(\out, ~ringModBus);
|
||||
~gtrIn.set(\out, ~reverbBus);
|
||||
~gtrIn.set(\out, [~reverbBus, ~ringModBus]);
|
||||
//~ringMod.set(\in, 9);
|
||||
//~gtrIn.set(\out, 0);
|
||||
//~gtrIn.set(\out, ~ringModBus);
|
||||
//~gtrIn.set(\out, ~reverbBus);
|
||||
//~gtrIn.set(\out, [~reverbBus, ~ringModBus]);
|
||||
|
||||
~ringMod.set(\modulator, 0);
|
||||
~ringMod.set(\mulrate, 0);
|
||||
|
@ -377,6 +549,72 @@ OSCFunc.trace(false); // Turn posting off
|
|||
)
|
||||
});
|
||||
|
||||
case
|
||||
{~gdurmode == 0 }{{~durModeGui.value_(0) }.defer}
|
||||
{~gdurmode == 1 }{{~durModeGui.value_(1) }.defer}
|
||||
{~gdurmode == 2 }{{~durModeGui.value_(2) }.defer}
|
||||
{~gdurmode == 3 }{{~durModeGui.value_(3) }.defer}
|
||||
{~gdurmode == 4 }{{~durModeGui.value_(4) }.defer}
|
||||
{~gdurmode == 5 }{{~durModeGui.value_(5) }.defer}
|
||||
{~gdurmode == 6 }{{~durModeGui.value_(6) }.defer}
|
||||
{~gdurmode == 7 }{{~durModeGui.value_(7) }.defer};
|
||||
|
||||
case
|
||||
{~pitchmode == 0 }{{~pitchModeGui.value_(0) }.defer}
|
||||
{~pitchmode == 1 }{{~pitchModeGui.value_(1) }.defer}
|
||||
{~pitchmode == 2 }{{~pitchModeGui.value_(2) }.defer}
|
||||
{~pitchmode == 3 }{{~pitchModeGui.value_(3) }.defer}
|
||||
{~pitchmode == 4 }{{~pitchModeGui.value_(4) }.defer}
|
||||
{~pitchmode == 5 }{{~pitchModeGui.value_(5) }.defer}
|
||||
{~pitchmode == 6 }{{~pitchModeGui.value_(6) }.defer}
|
||||
{~pitchmode == 7 }{{~pitchModeGui.value_(7) }.defer};
|
||||
|
||||
case
|
||||
{~durationmode == 0 }{{~durationModeGui.value_(0) }.defer}
|
||||
{~durationmode == 1 }{{~durationModeGui.value_(1) }.defer}
|
||||
{~durationmode == 2 }{{~durationModeGui.value_(2) }.defer}
|
||||
{~durationmode == 3 }{{~durationModeGui.value_(3) }.defer}
|
||||
{~durationmode == 4 }{{~durationModeGui.value_(4) }.defer}
|
||||
{~durationmode == 5 }{{~durationModeGui.value_(5) }.defer}
|
||||
{~durationmode == 6 }{{~durationModeGui.value_(6) }.defer}
|
||||
{~durationmode == 7 }{{~durationModeGui.value_(7) }.defer};
|
||||
|
||||
case
|
||||
{~positionmode == 0 }{{~positionModeGui.value_(0) }.defer}
|
||||
{~positionmode == 1 }{{~positionModeGui.value_(1) }.defer}
|
||||
{~positionmode == 2 }{{~positionModeGui.value_(2) }.defer}
|
||||
{~positionmode == 3 }{{~positionModeGui.value_(3) }.defer}
|
||||
{~positionmode == 4 }{{~positionModeGui.value_(4) }.defer}
|
||||
{~positionmode == 5 }{{~positionModeGui.value_(5) }.defer}
|
||||
{~positionmode == 6 }{{~positionModeGui.value_(6) }.defer}
|
||||
{~positionmode == 7 }{{~positionModeGui.value_(7) }.defer};
|
||||
|
||||
case
|
||||
{~gpanmode == 0 }{{~panModeGui.value_(0) }.defer}
|
||||
{~gpanmode == 1 }{{~panModeGui.value_(1) }.defer}
|
||||
{~gpanmode == 2 }{{~panModeGui.value_(2) }.defer}
|
||||
{~gpanmode == 3 }{{~panModeGui.value_(3) }.defer}
|
||||
{~gpanmode == 4 }{{~panModeGui.value_(4) }.defer}
|
||||
{~gpanmode == 5 }{{~panModeGui.value_(5) }.defer}
|
||||
{~gpanmode == 6 }{{~panModeGui.value_(6) }.defer}
|
||||
{~gpanmode == 7 }{{~panModeGui.value_(7) }.defer};
|
||||
|
||||
|
||||
case
|
||||
{~instrPanMode == 0 }{{~instrPanModeGui.value_(0) }.defer}
|
||||
{~instrPanMode == 1 }{{~instrPanModeGui.value_(1) }.defer}
|
||||
{~instrPanMode == 2 }{{~instrPanModeGui.value_(2) }.defer}
|
||||
{~instrPanMode == 3 }{{~instrPanModeGui.value_(3) }.defer}
|
||||
{~instrPanMode == 4 }{{~instrPanModeGui.value_(4) }.defer}
|
||||
{~instrPanMode == 5 }{{~instrPanModeGui.value_(5) }.defer}
|
||||
{~instrPanMode == 6 }{{~instrPanModeGui.value_(6) }.defer}
|
||||
{~instrPanMode == 7 }{{~instrPanModeGui.value_(7) }.defer};
|
||||
|
||||
|
||||
case
|
||||
{~impulsemode == 0 }{{~impulseModeGui.value_(0) }.defer}
|
||||
{~impulsemode == 1 }{{~impulseModeGui.value_(1) }.defer}
|
||||
{~impulsemode == 2 }{{~impulseModeGui.value_(2) }.defer}
|
||||
|
||||
|
||||
// BUTTON X ----> toggle fx
|
||||
|
@ -392,7 +630,6 @@ OSCFunc.trace(false); // Turn posting off
|
|||
);
|
||||
});
|
||||
|
||||
~gtrIn.set(\out, ~ringModBus);
|
||||
|
||||
|
||||
|
||||
|
@ -425,13 +662,20 @@ OSCFunc.trace(false); // Turn posting off
|
|||
});
|
||||
|
||||
// BUTTON X ----- G PANNING MODE
|
||||
// TODO FIX MAPPINGS - GUI AND REALITY DO NOT MATCH
|
||||
if (msg[16]==1,
|
||||
{
|
||||
( ~btn7val = (~btn7val + 1) % 3 ) ;
|
||||
( ~btn7val = (~btn7val + 1) % 9 ) ;
|
||||
switch( ~btn7val,
|
||||
0, { ~gpanmode = 0 ; "PAN STEREO".postln; },
|
||||
1, { ~gpanmode = 1 ; "PAN QUAD ROTATIONS".postln; },
|
||||
2, { ~gpanmode = 2 ; "PAN RANDOM QUAD".postln; },
|
||||
0, { ~gpanmode = 0 ; "SIGNAL OFF".postln; { ~gPanModeGui.value_(0)}.defer },
|
||||
1, { ~gpanmode = 1 ; "DRY FRONT {STERE0}".postln; { ~gPanModeGui.value_(1)}.defer },
|
||||
2, { ~gpanmode = 2 ; "DRY BACK {STERE0}".postln; { ~gPanModeGui.value_(2)}.defer },
|
||||
3, { ~gpanmode = 3 ; "L/R PAN {STEREO}".postln; { ~gPanModeGui.value_(3)}.defer },
|
||||
4, { ~gpanmode = 4 ; "DRY RaND {STEREO}".postln; { ~gPanModeGui.value_(4)}.defer },
|
||||
5, { ~gpanmode = 5 ; "DRY ROTATE {QUAD}".postln; { ~gPanModeGui.value_(5)}.defer },
|
||||
6, { ~gpanmode = 6 ; "DRY RaND {QUAD}".postln; { ~gPanModeGui.value_(6)}.defer },
|
||||
7, { ~gpanmode = 7 ; "DRY SENSOR {QUAD}".postln; { ~gPanModeGui.value_(7)}.defer },
|
||||
8, { ~gpanmode = 8 ; "PAN RANDOM QUAD".postln; { ~gPanModeGui.value_(8)}.defer },
|
||||
)
|
||||
});
|
||||
|
||||
|
@ -486,11 +730,11 @@ OSCFunc.trace(false); // Turn posting off
|
|||
switch(~btn13val,
|
||||
0, { ~pitchmode = 0; "pitch array 0".postln; { ~pitchModeGui.value_(0) }.defer },
|
||||
1, { ~pitchmode = 1; "pitch array 1".postln; { ~pitchModeGui.value_(1) }.defer },
|
||||
2, { ~pitchmode = 2; "pitch array 0".postln; { ~pitchModeGui.value_(2) }.defer },
|
||||
3, { ~pitchmode = 3; "pitch array 0".postln; { ~pitchModeGui.value_(3) }.defer },
|
||||
4, { ~pitchmode = 4; "pitch array 2".postln; { ~pitchModeGui.value_(4) }.defer },
|
||||
5, { ~pitchmode = 5; "pitch array 3".postln; { ~pitchModeGui.value_(5) }.defer },
|
||||
6, { ~pitchmode = 6; "pitch array 4".postln; { ~pitchModeGui.value_(6) }.defer },
|
||||
2, { ~pitchmode = 2; "pitch array 2".postln; { ~pitchModeGui.value_(2) }.defer },
|
||||
3, { ~pitchmode = 3; "pitch array 3".postln; { ~pitchModeGui.value_(3) }.defer },
|
||||
4, { ~pitchmode = 4; "pitch array 4".postln; { ~pitchModeGui.value_(4) }.defer },
|
||||
5, { ~pitchmode = 5; "pitch array 5".postln; { ~pitchModeGui.value_(5) }.defer },
|
||||
6, { ~pitchmode = 6; "pitch array 6".postln; { ~pitchModeGui.value_(6) }.defer },
|
||||
7, { ~pitchmode = 7; ~g1.set(\rlow, -0.8 ); ~g1.set(\rhigh, 1.5);
|
||||
"PITCH MODE RANDOM 4".postln; { ~pitchModeGui.value_(7) }.defer },
|
||||
8, { ~pitchmode = 7; ~g1.set(\rlow, -3 ); ~g1.set(\rhigh, 3);
|
||||
|
@ -532,9 +776,17 @@ OSCFunc.trace(false); // Turn posting off
|
|||
|
||||
}); // SHIFT ONE LOGIC ENDS HERE ================
|
||||
|
||||
} , '/keys');
|
||||
// } , '/keys');
|
||||
} , '/localhostInLevels');
|
||||
|
||||
));
|
||||
|
||||
|
||||
|
||||
|
||||
~gdurmode = 2;
|
||||
|
||||
|
||||
// ----------------------------------------------------
|
||||
// LIVE CODE / PERFORMABLE PARAMETERS /////////////////
|
||||
// ----------------------------------------------------
|
||||
|
@ -572,11 +824,11 @@ r.set(\overdub, 0.9); // overdub mode 0 - 0.99 - MAPPED TO SWITCH 4
|
|||
|
||||
~channelmode = 1;
|
||||
|
||||
~ringMod.set(\in, 9);
|
||||
~gtrIn.set(\out, 0);
|
||||
~gtrIn.set(\out, ~ringModBus);
|
||||
~gtrIn.set(\out, ~reverbBus);
|
||||
~gtrIn.set(\out, [~reverbBus, ~ringModBus]);
|
||||
//~ringMod.set(\in, 0);
|
||||
//~gtrIn.set(\out, 0);
|
||||
//~gtrIn.set(\out, ~ringModBus);
|
||||
//~gtrIn.set(\out, ~reverbBus);
|
||||
//~gtrIn.set(\out, [~reverbBus, ~ringModBus]);
|
||||
|
||||
~ringMod.set(\modulator, 77, \mulrate, 0.1);
|
||||
~ringMod.set(\modulator, 0, \mulrate, 0);
|
||||
|
@ -597,7 +849,8 @@ a = Scale.major;
|
|||
/////////////////////////////////////////////////
|
||||
// -----------------------------------------------
|
||||
|
||||
|
||||
~btn4val = 2;
|
||||
~gdurmode = 4;
|
||||
// list all open ports
|
||||
|
||||
// -----------------------------------------------
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
|
||||
# /usr/bin/jackd -u -dalsa -dhw:USB -r44100 -p512 -n3 -S
|
||||
/usr/bin/jackd -u -dalsa -r44100 -p256 -n3 -D -Chw:U192k -Phw:U192k
|
||||
killall -9 jackd
|
||||
|
||||
/usr/bin/jackd -u -dalsa -r44100 -p256 -n3 -D -Chw:U192k -Phw:U192k
|
||||
|
|
Loading…
Reference in New Issue