2017-06-13 50 views
0

連接到外部SuperCollider音頻服務器我是一個初學者Clojure,我試圖用Overtone玩。但我在啓動Overtone並將其與外部SuperCollider服務器連接時遇到問題。無法從泛音

我下面從泛音文檔教程:Connecting scsynth。由於我在Windows 10 64位上,因此無法使用Internal SuperCollider服務器。所以我安裝了SuperCollider並確保音頻服務器運行在127.0.0.1:57110。

現在,當我嘗試在雷音RELP加載泛音環境,我得到的回報爲零。

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名稱空間尚未加載。

我該如何解決這個問題,在我的系統上啓動泛音?

+1

1.是的,我很確定'use'返回'nil'。我總是使用'ns'宏來做'require',所以我不能確定,但​​它會返回什麼?這必然是一種使用副作用的操作。 2.我發現從REPL導入粗略。它從來沒有爲我工作。嘗試開始一個新項目,創建一個實際的文件,並要求使用'ns'宏。我敢打賭,應該解決你未解決的符號錯誤。 REPL非常適合測試現有的代碼,但我曾經遇到過使用它作爲唯一的代碼來解決問題的問題,主要是因爲import/require不起作用。 – Carcigenicate

+1

https://clojuredocs.org/clojure.core/ns給出瞭如何使用/ import/require的很好的例子。 – Carcigenicate

+0

@Carcigenicate謝謝你解決了這個問題。但我不需要使用文件。 –

回答

1

代替(use 'overtone.core)我以前(ns user (:require [overtone.core :refer :all]))和解決的問題。現在我可以撥打(boot-external-server)(connect-external-server),但沒有未解決的符號錯誤。

+0

太棒了。很高興解決了它。 – Carcigenicate