我正在使用SuperCollider,我想基本上打包一个已经写好的音乐脚本。这是因为想要从虚幻引擎4中调用它,因为它值得。
我知道SuperCollider以服务器/客户端心态运行,scsynth
是服务器,sclang
是客户端。我在Mac机器上,我试图手动启动sclang / scsynth。这就是我的预期。
$> scsynth -u 2000 # This is running in another Terminal tab...
$> sclang -u 2000 MyScript.scd # Shouldn't this hook it up?
# An interactive terminal starts here...Shouldn't my commands
# be going to the server I started up?
有什么想法吗?
答案 0 :(得分:2)
对端口号的一个小误解。 scsynth和sclang都可以监听UDP端口。在您的代码示例中,您已经开始在2000年进行scsynth侦听,然后在2000年开始侦听侦听。这是两个进程侦听2000,而不是一个进程发送和一个进程侦听。
如果您在端口2000上启动scsynth,那么与它通信的方式不是sclang -u 2000
,而是通过在sclang脚本中设置端口。如果我假设您使用的是默认服务器,那么您可以检查语言认为它正在与之交谈的NetAddr:
"Default server is at this IP and port: %".format(Server.default.addr).postln;
如果要将其设置为端口2000:
Server.default.addr.port = 2000;