~ke = MidiRemote25SL(\kedifu);
+~mi = MidiMix101(\mix);
(
-SynthDef(\zuFader, {|in, amp=1.0, out=0|
- Out.ar(out, In.ar(in, 2) * amp);
+SynthDef(\zuFader, {|in, amp=1.0, mix=0.0, room=0.5, damp=0.5, out=0|
+ var sig;
+ sig = In.ar(in, 2);
+ sig = FreeVerb2.ar(sig[0], sig[1], mix, room, damp, amp);
+ Out.ar(out, sig);
}).add;
)
groups: Array(8),
buses: Array(8),
faders: Array(8),
+
init: {|self|
self.sourceGroup = Group();
self.faderGroup = Group.after(self.sourceGroup);
self.kedifu = MidiRemote25SL(\kedifuTracker, reveal: false);
+ self.sasihu = MidiMix101(\sasihuTracker, reveal: false);
+ self.selected = 0;
self.tracks.do{|k, i|
var group, bus, fader;
Pdef(k).endless;
self.kedifu.fader_{|v, n|
self.faders[n].bindRange(\amp, -60.dbamp, 0.dbamp).value(v);
};
+ self.kedifu.lowrot_{|v, n|
+ self.faders[n].bindRange(\mix, 0, 1).value(v);
+ };
+ self.kedifu.butlr_{|v, n|
+ if (v) {
+ self.selected = n;
+ self.sasihu.afade = self.faders[self.selected].bindRange(\room, 0, 1);
+ self.sasihu.bfade = self.faders[self.selected].bindRange(\damp, 0, 1);
+ "% selected\n".postf(self.tracks[self.selected]);
+ };
+ };
+
self
},
)
};
)
-~tracker = ~trackerFactory.value.init;
+
+// test
(
+~tracker = ~trackerFactory.value.init;
+
~tracker.lonu_{
Pbind(*[
instrument: \naje,
modAmp: Pwhite(0.01, 0.02!2),
])
}.quant_(7).play;
-)
+
+~tracker.fose_{
+ Pbind(*[
+ instrument: \leto,
+ db: -1,
+ dur: Prand([1, 2, 3], inf)/2,
+ pan: Pwhite(-0.4, 0.4, inf),
+ scale: Scale.nahawand,
+ octave: Pxrand([3, 4, 5, 6, 7], inf),
+ degree: [0, 4],
+ legato: Pwhite(0.5, 0.9, inf),
+ ])
+}.quant_(7).play;
+
+~tracker.ziba_{
+ Pbind(*[
+ instrument: \zuqy,
+ db: -5,
+ dur: Prand([1, 2, 3, 4], inf)/4,
+ pan: Pwhite(-0.4, 0.4, inf),
+ scale: Scale.nahawand,
+ octave: Pxrand([2], inf),
+ degree: Prand((0..12), inf),
+ legato: Pwhite(0.2, 0.7, inf),
+ distort: 150.0,
+ ])
+}.quant_(7).play;
+
+~tracker.pepo_{
+ Pbind(*[
+ instrument: \xaxa,
+ db: -5,
+ dur: Prand([1, 2, 3, 4], inf)/1,
+ pan: Pwhite(-0.4, 0.4, inf),
+ scale: Scale.nahawand,
+ octave: Pxrand([2], inf),
+ degree: Prand((0..12), inf),
+ legato: Pwhite(0.3, 0.6, inf),
+ feedbackAmp: 0.2,
+ feedbackRate: 3,
+ detuneAmp: 0.1,
+ detuneRate: 2,
+ ])
+}.quant_(7).play;
+
+~tracker.kaco_{
+ Pmono(\liwe, *[
+ db: -10,
+ trig: 1,
+ dur: Pseq([1, 2, 1, 2, 3, 2, 1, 2], inf)/4,
+ pan: Pwhite(-0.1, 0.1, inf),
+ tension: 0.001 + (0.017 * Pkey(\dur)),
+ loss: 0.99992,
+ impact: 0.1,
+ ])
+}.quant_(7).play;
+
+~tracker.xehi_{
+ Pbind(*[
+ instrument: \neta,
+ db: -19,
+ dur: Pseq([1, 2, 1, 1, 1, 0.5, 1/4, 1/8, 1/8], inf),
+ scale: Scale.nahawand,
+ octave: Pxrand([Pseq(2!3), Pseq(3!3), Pseq(4!3)], inf),
+ degree: Pxrand([0, 2, 4, 5, 7], inf) + [0, 2, 4],
+ legato: Pwhite(0.2, 0.6, inf),
+ ])
+}.quant_(7).play;
+)
\ No newline at end of file