【问题标题】:Can not connect to an external SuperCollider audio server from Overtone无法从 Overtone 连接到外部 SuperCollider 音频服务器
【发布时间】:2017-11-15 15:47:39
【问题描述】:

我是Clojure 初学者,我正在尝试使用Overtone。但我无法启动 Overtone 并将其与外部 SuperCollider 服务器连接。

我正在学习 Overtone 文档中的教程:Connecting scsynth。由于我使用的是 Windows 10 64 位,因此无法使用内部 SuperCollider 服务器。所以我安装了 SuperCollider 并确保音频服务器在 127.0.0.1:57110 运行。

现在,当我尝试在 lein relp 上加载 Overtone 环境时,我得到 nil 作为回报。

user=>(use 'overtone.core)
nil

所以如果 Overtone 环境加载成功,现在我们应该连接外部 SuperCollider 服务器。我们可以通过两种方式做到这一点。从 Overtone 中启动外部服务器,或连接到现有的正在运行的服务器。

为了启动外部服务器,我尝试了以下命令,但出现未解决的符号错误。

user=> (boot-external-server)

CompilerException java.lang.RuntimeException: Unable to resolve symbol: boot-external-server in this context, compiling:(C:\Users\<user>\AppData\Local\Temp\form-init401744747046363104.clj:1:1)

所以我尝试连接到在端口 57110 上运行的现有服务器,但出现类似的未解决符号错误,

user=> (connect-external-server 57110)

CompilerException java.lang.RuntimeException: Unable to resolve symbol: connect-external-server in this context, compiling:(C:\Users\<user>\AppData\Local\Temp\form-init401744747046363104.clj:1:1)

user=> (connect-external-server)

CompilerException java.lang.RuntimeException: Unable to resolve symbol: connect-external-server in this context, compiling:(C:\Users\<user>\AppData\Local\Temp\form-init401744747046363104.clj:1:1)

当我运行(use 'overtone.core) 时,我应该得到nil 吗?我的假设是,所有这些符号都未解析,因为尚未加载 Overtone 命名空间。

如何解决这个问题以在我的系统上启动 Overtone?

【问题讨论】:

  • 1.是的,我很确定use 返回nil。我总是使用ns 宏来做requires,所以我不能确定,但​​它会返回什么?它必然是一种使用副作用的操作。 2. 我发现从 REPL 导入是粗略的。它从不适合我。尝试开始一个新项目,创建一个实际文件,并要求使用 ns 宏。我敢打赌,这应该可以解决您未解决的符号错误。 REPL 非常适合测试现有代码,但我在使用它作为唯一的代码源时遇到了问题,主要是因为导入/要求不起作用。
  • clojuredocs.org/clojure.core/ns 给出了如何使用/导入/要求的很好的例子。
  • @Carcigenicate 谢谢你解决了这个问题。但我不需要使用文件。

标签: clojure overtone


【解决方案1】:

我使用了(ns user (:require [overtone.core :refer :all])) 而不是(use 'overtone.core),这解决了这个问题。现在我可以调用(boot-external-server)(connect-external-server) 而不会出现未解决的符号错误。

【讨论】:

    猜你喜欢
    • 2013-05-07
    • 1970-01-01
    • 1970-01-01
    • 2018-11-03
    • 1970-01-01
    • 2018-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多