Open aricallen opened 5 years ago
I'll add that I am able to load and send messages to native UGen/SynthDefs from supercolliderjs as expected. This is only a problem when trying to send messages to a plugin synth.
I just did a quick test myself running a synthdef with BMoog. It worked both in the IDE and using supercollider.js
Basically the same code as you have above: a simple compile synthdef and spawn a synth.
It worked.
But not for you.
Is your SuperCollider installed in the default location ? "/Applications/SuperCollider/SuperCollider.app";
Did you use a .supercollider.yaml config file to set a different scsynth path? I don't think that would matter though. The executable should look in the default paths regardless.
Did you maybe set ugenPluginsPath in a .supercollider.yaml config file?
Did you definitely install the extensions in Platform.userExtensionDir
-> ~/Library/Application Support/SuperCollider/Extensions
If ugensPluginsPath
is null then it should use the default paths which includes the Extensions folder.
It's odd that you tried setting it explicitly and it still didn't work.
I just tried it and got: stdout : exception in GraphDef_Recv: UGen 'Control' not installed. which makes sense because I just set ugensPluginsPath to Extensions and now the main class library is no longer included.
ugenPluginsPath should be null, string or array of strings.
Thanks for the response. With your suggestions I was finally able to get it to work by specifying a :
delimited string of paths like ${Platform.userExtensionDir}:${Platform.resourceDir}
.
But it is still curious why I would need to specify it at all. My app lives where you'd expect.
➜ SuperCollider.app pwd
/Applications/SuperCollider/SuperCollider.app
Here are some more outputs from the IDE in case you may see where the problem is?
Platform.userExtensionDir
// -> /Users/[myusername]/Library/Application Support/SuperCollider/Extensions
Platform.resourceDir
// -> /private/var/folders/rs/c7w3mxnj27z8slhx3fm_1c8r0000gp/T/AppTranslocation/39C29491-032B-4A48-91B8-D57ED80038CC/d/SuperCollider.app/Contents/Resources
Platform.systemAppSupportDir
// -> /Library/Application Support/SuperCollider
Platform.userAppSupportDir
// -> /Users/[myusername]/Library/Application Support/SuperCollider
Because the Platform.resourceDir
seems unpredictable... can you think of a way I could retrieve that from the node script before booting the server?
Hi, I've been playing around with this for a while now and still haven't found a good reason why the sc3 plugins are not found or any good workaround. If I run supercollider IDE the plugins are found and compiled no problem. Similarly if I connect to the running server from the sc IDE following the process outlined in this issue, the plugins are found and I can send a message to one of the SynthDefs.
But if I try to boot the server from node like normal, I always get a
FAILURE IN SERVER /s_new SynthDef not found
error. I also tried manually setting theugenPluginsPath
option and passed tosc.server.boot
, but that didn't fix anything.Is this a known issue or have any thoughts as to what I'm doing wrong? I'm happy to help debug this as much as I can. I'm on macOS sierra 10.14.6 but also tried on Raspbian (Debian)
Here is the complete output from my simple test trying to use the
BMoog
synth def.here's the node script: