Since I have quite many custom SynthDefs and it's hard to remeber all the custom arguments for a SynthDef I'm wondering if there is some way to query the SuperCollider server via OSC to return the arguments of a SynthDef.
I know that if I stored a SynthDef in a global variable x, then I can use
x.allControlNames;
to get an array of ControlName objects for which i can use the .name method to get the parameter name.
What I don't know how to do is how to query a running server for a specific SynthDef that is loaded on that server.
I found this document in the SC reference:
the /d_recv looks promising, but I don't know how to use this. Can anyone help?
I made a little progress, but one final piece is missing and I hope someone can help me out here (it's more tidal related this time). I've found a way to send all control names of a synth from supercollider to tidal every time SC recieves an OSC message to the path /SynthControls with the name of the synth as argument. This is the SC code for the OSCFunc:
So the only thing missing is a tidal function to send a single OSC message to SC, and then post the message recieved back from SC in the console like above. I don't really want to define a custom supercollider target just for this. And it seems so simple to do, but I really don't know how. So I hope someone can help
Sorry for missing your question earlier by the way. In general for questions more on the superdirt side, opening an issue on github is probably more likely to get good attention.
and it almost works as expected, the only thing is, that there should be a bit of a delay between the sending of the message and printing of the parameter, since right now the function has to be executed twice to get the right parameters. Ofcourse it could be put into two seperate functions, one to send and one to lookup, but it would be awesome if it was just a single function.
I would love that! The only thing is, that I have basically no experience with GitHub and have never worked on something before, so I don't really know where to add the code. But I'm actually planning to get more into that so I'll be able to contribute in the future
This used to work on older versions of GHCI but now it complains about hidden modules. I wonder if there is another way around it.
t> : error: Could not load module ‘Sound.OSC’ It is a member of the hidden package ‘hosc-0.18.1’. You can run ‘:set -package hosc’ to expose it. (Note: this unloads all the modules in the current scope.)