44 lines
781 B
Python
44 lines
781 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]
|
|
}
|
|
|
|
masterIn { ^masterBus.index; }
|
|
} |