Thanks for your response Hjalte, but your solution is still the same I have before...With this one I can't change neither freqs, amps, ringtimes from the external world for example:a = Synth('dynKlanklac');a.setn(\freqs, Array.rand(30, 20, 5000)); //not possible with the var solution...Any other idea?BestpIt'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,
Hjalte2009/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!BestpThe 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 ?