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

[Sc-devel] [BUG] 1.0 + 0.0 = 0.0?



hi sc-devs,

another bug i stumbled over:

x = SynthDef(\sigAdd, {
 	arg noisemat = #[0, 0], sinemat = #[0, 0];

	Out.ar(0, (noisemat * WhiteNoise.ar(mul: 0.2))
		+ (sinemat * SinOsc.ar(440, mul: 0.2)));
}).send(s);

y = Synth(\sigAdd);

// noise left, 440 Hz right
y.setn(\noisemat, [0.99, 0], \sinemat, [0, 1.0]);

// left signal disappears!
y.setn(\noisemat, [1.0, 0], \sinemat, [0, 1.0]);

// left signal comes back!
y.setn(\noisemat, [1.01, 0], \sinemat, [0, 1.0]);

y.free;


v = SynthDef(\sigAdd2, {
 	arg noisemat = #[0, 0], sinemat = #[0, 0];

	Out.ar(0, (sinemat * SinOsc.ar(440, mul: 0.2))
		+ (noisemat * WhiteNoise.ar(mul: 0.2)));
}).send(s);

w = Synth(\sigAdd2);

// 440 Hz left, noise right
w.setn(\noisemat, [0, 1.0], \sinemat, [0.99, 0]);

// left signal disappears!
w.setn(\noisemat, [0, 1.0], \sinemat, [1.0, 0]);

// left signal comes back!
w.setn(\noisemat, [0, 1.0], \sinemat, [1.01, 0]);

w.free;


this is on linux.  could not test on ppc nor intelmac yet.

am i missing something?

best,

martin

Attachment: signature.asc
Description: Digital signature