我是Clojure初学者,我正在尝试使用Overtone。但是我无法启动Overtone并将其与外部SuperCollider服务器连接。
我正在关注Overtone文档中的教程:Connecting scsynth。由于我在Windows 10 64bit上,因此无法使用Internal 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?
答案 0 :(得分:1)
而不是(use 'overtone.core)
我使用了(ns user (:require [overtone.core :refer :all]))
并解决了这个问题。现在,我可以在没有未解决的符号错误的情况下调用(boot-external-server)
和(connect-external-server)
。