2017-06-13 10 views
0

私はClojure初心者です。私はOvertoneでプレイしようとしています。しかし、私はオーバートーンを起動し、それを外部のSuperColliderサーバに接続することに問題があります。オーバートーンから外部SuperColliderオーディオサーバーに接続できません

私はオーバートーンのドキュメントからチュートリアルに従います:Connecting scsynth。私はWindows 10 64ビット上にいるので、私は内部SuperColliderサーバーを使用することはできません。そこで、SuperColliderをインストールし、オーディオサーバーが127.0.0.1:57110で動作していることを確認しました。

今、私はlein relpでOvertone環境を読み込もうとしていますが、代わりにnilが返されます。

user=>(use 'overtone.core) 
nil 

倍音環境が正しく読み込まれ、されるのであれば、今、私たちは外部のSuperColliderのサーバーに接続することになっています。私たちは2つの方法でこれを行うことができます。 Overtone内から外部サーバーを起動するか、既存の実行中のサーバーに接続します。

外部サーバーを起動するには次のコマンドを試しましたが、未解決のシンボルエラーが発生しました。

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を取得することになって、

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上で実行されている既存のサーバーに接続しようとしましたが、私は同様の未解決のシンボルエラーを取得しますか?私の前提は、オーバートーン名前空間がまだロードされていないため、これらのシンボルはすべて解決されていないということです。

システムでオーバートーンを開始するにはどうすればこの問題を解決できますか?

+1

1.はい、本当に 'use'は' nil'を返します。私はいつも 'ns'マクロを使って' require'を行います。私は確信できませんが、何を返すのでしょうか?これは必然的に副作用を使って動作する操作です。 2.私はREPLからのインポートをスケッチしていることがわかりました。それは私にとってはうまくいかない。新しいプロジェクトを開始し、実際のファイルを作成し、 'ns'マクロの使用を要求してください。あなたの未解決のシンボルエラーを解決するはずです。 REPLは既存のコードをテストするのに最適ですが、主にインポート/必須が機能しないため、このコードを唯一のコードソースとして使用することに問題がありました。 – 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

関連する問題