1
0

feat: add fx method for tracks

This commit is contained in:
2025-06-14 09:01:41 +02:00
parent 13e794f44b
commit fddbf09d99
3 changed files with 19 additions and 3 deletions

View File

@ -1,3 +1,11 @@
# Scoobidules # Scoobidules
A collection of snippets, patches, classes and hybrid SuperCollider bidules A collection of snippets, patches, classes and hybrid SuperCollider bidules
## Where are files located?
As far as I know, the extensions folder for SuperCollider is necessarily located at `~/.local/share/SuperCollider/Extensions`. Classes must be copied in there.
SynthDefs can be placed in `~/.local/share/SuperCollider/synthdefs` to [load them on server start].
The `startup.scd` file must be placed in `~/.config/SuperCollider`.

View File

@ -1,4 +1,4 @@
// bidule holding a master track receiving from a bus, and a collection // bidule holding a master track receiving from a bus, and a collection
// of Tracks // of Tracks
Mixer : Fadable { Mixer : Fadable {
var name, master, masterBus, tracks, track, level; var name, master, masterBus, tracks, track, level;

View File

@ -3,7 +3,7 @@ Track : Fadable {
/* /*
TODO: don't instanciate if name already exist ? TODO: don't instanciate if name already exist ?
*/ */
var out, <group, <groupFX, <groupSynth, <track, busTrack, busFX, level; var out, <group, <groupFX, <groupSynth, <track, trackFX, busTrack, busFX, level;
*new { *new {
|out| |out|
@ -38,8 +38,9 @@ Track : Fadable {
group = Group.new(Server.default); group = Group.new(Server.default);
groupSynth = Group.head(group); groupSynth = Group.head(group);
groupFX = Group.after(groupSynth); groupFX = Group.after(groupSynth);
trackFX = Dictionary();
track = Synth( track = Synth(
\fader, \fader,
[ [
in: busTrack.index, in: busTrack.index,
fxIn: busFX.index, fxIn: busFX.index,
@ -58,6 +59,13 @@ Track : Fadable {
^busFX.index; ^busFX.index;
} }
appendFX {
|fxName, params=#[]|
var fx;
fx = Synth.new(fxName, params ++ [in: this.in, out: this.inFX], this.groupFX);
trackFX.put(fxName, fx);
}
// printOn { // printOn {
// |stream| // |stream|
// } // }