Server.default.options.asOptionsString;
gives me
-u 57110 -a 1024 -i 2 -o 2 -R 0 -C 1 -l 1
and I wonder about the meaning of the -C flag, which isn’t documented in
at least the Debian manpage and when running with -h.
Furthermore, will this command allow connections from clients outside of
localhost? I know that I have to issue
s.options.bindAddress = “0.0.0.0”;
when booting a server from scide to allow outside connections.
With scsynth and scide (language only) on the same machine via
localhost, Ctl-Period will free nodes. So does this behavior change only
upon where the UDP packets do come from?
As written, no outside connections, but you should set all relevant options before asking for the optionsString.
When you hit cmd-., sclang sends commands to the server to remove synths. It’s sclang that decides whether or not to send those commands to remote servers.
There is no way for scsynth to know that the purpose of an incoming OSC command is to implement cmd-., therefore no way for the server to accept or reject them based on the local-only cmd-. rule. So the only way to handle that is on the sending side.
As written, no outside connections, but you should set all relevant options before asking for the optionsString.
I was under the impression that the scserver shell command will not
allow connections from outside the local machine. But how can I pass
“all relevant options” to this command without connecting to it? Would I
need to launch a local sclang instance just to issue
s.options.bindAddress = “0.0.0.0”;
?
Typically what I do to start a scsynth instance independent of a local sclang process is:
Use any sclang anywhere to set all necessary options in ServerOptions.
myServerOptions.asOptionsString to see what the command line arguments should look like.
By whatever means, get this string over to the scsynth machine (which may be as dumb as retyping it by hand – or copy/paste, if you’ve ssh-ed over to it).
Then issue the command in a terminal.
The options string you posted looks like all default values (IIRC), i.e., options prior to making your own settings. I was only suggesting that your options string should be obtained after configuring ServerOptions the way you want. You don’t have to be on the machine that will eventually run scsynth to do that, and there’s no requirement to run sclang there.
by comparing
s.options.asOptionsString;
before and after setting
s.options.bindAddress = “0.0.0.0”;
did I find out that the scserver command has a -B flag, which can be set as
-B 0.0.0.0
to allow outside connections. Ah, this should have been in scservers
manpage or -h list of options. Will add it to the git issue just
created.
$ scsynth -h
supercollider_synth options:
-v print the supercollider version and exit
-u <udp-port-number> a port number 0-65535
-t <tcp-port-number> a port number 0-65535
-B <bind-to-address>
Bind the UDP or TCP socket to this address.
Default 127.0.0.1. Set to 0.0.0.0 to listen on all interfaces.
-c <number-of-control-bus-channels> (default 16384)
... etc
Not sure which manpage you mean. man scsynth on my local machine gets nothing. There’s man scsynth (1): SuperCollider audio synthesis server but this is not maintained by the SC team and it looks like it’s rather far out of date.
Not sure which manpage you mean. man scsynth on my local machine gets nothing. There’s man scsynth (1): SuperCollider audio synthesis server but this is not maintained by the SC team and it looks like it’s rather far out of date.