我是Clojure的初学者,我正在尝试使用Overtone。但是我在启动泛音并将其与外部超级对撞机服务器连接时遇到问题。
我正在遵循泛音文档中的教程:连接 scsynth。由于我在Windows 10 64位上,因此我无法使用内部超级对撞机服务器。所以我安装了超级对撞机,并确保音频服务器以 127.0.0.1:57110 运行。
现在,当我尝试在 lein relp 上加载泛音环境时,我得到的回报为零。
user=>(use 'overtone.core)
nil
因此,如果泛音环境成功加载,现在我们应该与外部超级对撞机服务器连接。我们可以通过两种方式做到这一点。从泛音中启动外部服务器,或连接到现有的正在运行的服务器。
要启动外部服务器,我尝试了以下命令,但出现未解决的符号错误。
user=> (boot-external-server)
CompilerException java.lang.RuntimeException: Unable to resolve symbol: boot-external-server in this context, compiling:(C:Users<user>AppDataLocalTempform-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>AppDataLocalTempform-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>AppDataLocalTempform-init401744747046363104.clj:1:1)
我跑(use 'overtone.core)
时应该得到nil
吗?我的假设是,所有这些符号都未解析,因为尚未加载 Overtone 命名空间。
如何解决此问题以在我的系统上启动泛音?
而不是(use 'overtone.core)
我使用了(ns user (:require [overtone.core :refer :all]))
,这解决了问题。现在我可以调用(boot-external-server)
和(connect-external-server)
,而不会出现未解决的符号错误。