hello,
Firstly, just wanted to say thanks for all the work people have put into this software - I've only just started exploring it but so far it looks really interesting.
Secondly, I have a problem...
I'm trying to make a GUI that will let you load synthdefs into one of two slots, with a slider to crossfade between them and sub-windows for each slot that let you set the parameters for the synth loaded into that slot.
The idea is that I can work with a friend of mine who is a good keyboard player, mixing new sounds for him to play in real time as part of a live performance. I.e. he does the musical bit and I do the geeky bit. (If there is already a supercollider extension that would do this which I could use and adapt for my own needs, it would be good to know.)
So far I'm working on making the bit that makes a window for an individual synth def, using the metadata property of the SynthDef class. I've copied the following example from the SynthDef help file:
// Same SynthDef, but adding metadata
// \freq and \amp exist in the global ControlSpec collection -- Spec.specs
// They are converted to real ControlSpecs using .asSpec
d = SynthDef(\mdDemo, { |out, freq, cutoff, volume, gate = 1|
var sig = LPF.ar(Saw.ar(freq, volume), cutoff),
env = EnvGen.kr(Env.adsr, gate, doneAction: 2);
Out.ar(out, (sig * env) ! 2)
}, metadata: (specs: (cutoff: \freq, volume: \amp))).memStore;
SynthDescLib.global[\mdDemo].makeWindow;
This isn't working properly - the window that comes up shows a slider for 'freq' but not for 'cutoff' or 'volume'. I'm running Linux Mint (similar to ubuntu), with Supercollider version 3.2.1.