[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sc-users] fx bus problems



hi,
the pbind creates brand new synths for each event. these doesn't know which effect bus to send to (they used default= 0 in your example). to fix just send that index along.

(
x = Synth.new("dualComb", [\inBus, ~fxbus.index]);
//y = Synth.before(x, "simplePulse", [\effectBus, ~fxbus.index]); //not needed
)

Pbind(
	\instrument, "simplePulse",
	\midinote, Pseq([48,48,48,72], inf),
	\dur, 0.5,
	\direct, Pseq([0, 0.2, 0.2, 0.7], inf),
	\effectBus, ~fxbus.index			//here!
).play;




On 31.12.2006, at 15:45, boonier wrote:


Hello SC list - hope you've all had a nice xmas

Im trying to vary the send of a synth through an allocated bus to an effect, dry/wet stylee. I suspect that the problem lies with Pbind as the patch used to work. Is there a problem with the bus allocation, or does the bus have to
be reference differently through a pattern?

thanks in advance and happy NY!


(
SynthDef("simplePulse",
{
	arg outBus = 0, effectBus, direct = 0.5, freq;
	var osc1 = Pulse.ar(freq + 1.5, SinOsc.kr(0.2, 0, 0.4, 0.1), 0.3);
	var env = EnvGen.kr(Env.linen(0.001, 0.25, 0.07, 0.6), doneAction: 2,
timeScale: 1, levelScale: 1);
	var out = osc1 * env;
	Out.ar(0, out * direct); // main out
	Out.ar(effectBus, out * (1 - direct)); // send to comb
}
).store;

SynthDef("dualComb", {
	arg freq, dLength = 4, inBus;
	var input = In.ar(inBus, 1);
	//var out = CombL.ar(in, MouseX.kr(0.001, 0.2, 0), 0.2, 3);
16.do({ input = AllpassC.ar(input, 0.04, { Rand(0.001,0.04) }.dup, 3)});
	Out.ar(0, input);
	}
).send(s);

~fxbus = Bus.audio(s, 2);

)

(
x = Synth.new("dualComb", [\inBus, ~fxbus.index]);
y = Synth.before(x, "simplePulse", [\effectBus, ~fxbus.index]);
)

Pbind(
	\instrument, "simplePulse",
	\midinote, Pseq([48,48,48,72], inf),
	\dur, 0.5,
	\direct, Pseq([0.5, 0.2, 0.2, 0.7], inf)
).play;


  #|
     fredrikolofsson.com     klippav.org     musicalfieldsforever.com
  |#