1
0
Files
scoobidules/extensions/Track/classes/mixer.sc

42 lines
748 B
Python

// bidule holding a master track receiving from a bus, and a collection
// of Tracks
Mixer : Fadable {
var name, master, masterBus, tracks, track, level;
*new {
|mixerName|
^super.new.init(mixerName);
}
*initClass {
StartUp.add {
SynthDef(\master, {
|in|
var sig, releaser;
sig = In.ar(in, 2) * \amp.kr(0.5);
sig = Limiter.ar(sig);
Out.ar(0, sig);
}).add;
}
}
init {
|mixerName|
name = mixerName;
level = 1;
masterBus = Bus.audio(Server.default, 2);
track = Synth(\master, [in: masterBus.index, amp: level]);
tracks = Dictionary();
}
addTrack {
|trackName|
tracks.put(trackName, Track(masterBus.index));
}
// access tracks like if Mixer was a dict
at {
|name|
^tracks[name]
}
}