1

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

我正在关注 Overtone 文档中的教程:连接 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)

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

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

4

1 回答 1

1

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

于 2017-06-14T01:08:27.650 回答