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

Re: [sc-users] array dynamically in synthdef



It's because you're trying to use the filled arrays as arguments to the Synth, either you should change arg to var or use Control...

(
var n = 30;

SynthDef('dynKlanklac', { var freqs  = Array.fill(n, { (30 + 75.rand).midicps}), amps  = Array.fill(n, { 0.002 + 0.007.rand }), ringtimes = Array.fill(n, { 0.05 + 0.25.rand });

Out.ar(0, DynKlank.ar([`[freqs, amps, ringtimes], `[freqs, amps, ringtimes]], WhiteNoise.ar * 0.001))
}
).load(s)
)

Best,
Hjalte

2009/7/28 Perdo <pelectron69@xxxxxxxxx>
Thanks Hjalte,

I have a lots of things to learn!!

Btw can somebody say me why this doesn't work? Ok I can't change dynamically the number of elements in a SynthDef but it's possible in the compilation? 

(
//var freqs, amps, ringtimes, n;
var n;
n = 30;

//freqs = Array.fill(n, { (30 + 75.rand).midicps});
//amps = Array.fill(n, { 0.002 + 0.007.rand });
//ringtimes = Array.fill(n, { 0.05 + 0.25.rand });

SynthDef('dynKlanklac', { arg freqs  = Array.fill(n, { (30 + 75.rand).midicps}), amps  = Array.fill(n, { 0.002 + 0.007.rand }), ringtimes = Array.fill(n, { 0.05 + 0.25.rand });

Out.ar(0, DynKlank.ar([`[freqs, amps, ringtimes], `[freqs, amps, ringtimes]], WhiteNoise.ar * 0.001))
}
).load(s)
)

Thanks for your patience!

Best

p


The reason for this is that the Pattern / Event way of using synths has been added after the .load / .send methods. store / memStore adds info about the SynthDef to the SynthDescLib, which makes it available to the client.

There was a discussion about this very recently.

To me it still seems very weird that .store dosen't work, I thought it was the same thing to the server ?