ciao a tutti, vorrei capire come poter gestire un parametro di due differenti synthdef con un unico fader di un controller osc.
Mi spiego meglio:
ho una prima synthdef “glive_1” e una seconda “del_2”. di queste voglio controllarne l’ampiezza, ma senza creare due fader saparati ne voglio avere uno unico (tipo master). se provo a scrivere come riportato funziona solo uno dei due, perchè SC prendere l’ultimo dei due che ho scritto. Come posso risolvere?
(
SynthDef(\glive_1,{arg outBus=0, inBus=0,
gden=2, gdur=0.2, amp=1, pan=0, envbuf= -1,
fadein=0.2,fadeout=1,gate=1;
var trig, sig, env;
trig = Impulse.ar(gden);
sig = SoundIn.ar(inBus, 1); // Segnale in ingresso
sig = GrainIn.ar(2,
trig,
gdur,
sig ! 2, // Doppio mono
pan,
envbuf,512,amp);
env = Linen.kr(gate,fadein,1,fadeout,doneAction:2);
Out.ar(outBus,sig * env)
}).add;
~synth2 = Synth(\glive_1,[\inBus,0,\outBus,0,\gden,10,\gdur,0.1,\amp,1,\gate,1]);
OSCdef.new(\amp, {arg msg;
~synth2.set(\amp, msg[1])},
'fader2', recvPort:57121);
);
SynthDef(\del_2, {arg inBus=0, outBus=0, maxdel=2, del=0.5, fbk=0.0,
amp=0, gate=0, fade=0.2, done=2;
var in, local, sig, dly, env;
in = In.ar(inBus);
local = LocalIn.ar(2) + [in, 0]; // Ingresso interno dual mono (per feedback)
dly = DelayL.ar(local, maxdel, del,1 );
dly = LeakDC.ar(dly);
env = Linen.kr(gate,fade,1,fade,done);
LocalOut.ar(dly.reverse * fbk); // reverse = ping pong effect
Out.ar(outBus, local * env * amp);
}).add;
~synth3 = Synth(\del_2,[\inBus,~delBus,\outBus,0, \amp,1,\fade,0.5, \del, 0.8, \fbk,0.2, \gate,1],~fxGrp);
OSCdef.new(\amp, {arg msg;
~synth3.set(\amp, msg[1])},
'fader2', recvPort:57121);
)