SynthDesc description of a synth definition



contains information about a SynthDef, such as its name, its control names and default values.

also information is provided of its outputs and inputs and whether it has a gate control.




*read(path, keepDefs, dict)

adds all synthDescs in a path to a dict 


SynthDescs are created by SynthDescLib, by reading a compiled synth def file.


SynthDescLib.global.read("synthdefs/default.scsyndef");

SynthDescLib.global.synthDescs.at(\default)


name returns the name of the SynthDef

controlNames returns an array of instances of ControlName, each of which 

have the following fields: name, index, rate, defaultValue

SynthDescLib.global.synthDescs.at(\default).controlNames.postln;

hasGate is true if the Synthdef has a gate input

msgFunc the function which is used to create an array of arguments for

playing a synth def in patterns

SynthDescLib.global.synthDescs.at(\default).msgFunc.postcs;


SynthDescs are needed by the event stream system, so when using Pbind and NotePlayer,

the instruments' default parameters are derived from the SynthDesc.



aSynthDef.store also creates a synthDesc in the global library:



(

SynthDef("test", { arg out, freq, xFade; 

XOut.ar(out, xFade, SinOsc.ar(freq)) 

}).store

);


SynthDescLib.global.browse; // browse the properties of SynthDescs