initial commit
This commit is contained in:
42
extensions/Track/classes/mixer.sc
Normal file
42
extensions/Track/classes/mixer.sc
Normal file
@ -0,0 +1,42 @@
|
||||
// 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]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user