Cocoa EmacsでSuperCollider 2

どうやらscelではcocoaが使えないようですので、GUI関係をつかいたいならSwingOSCに頼るしかなさそうです。(もういっこGUI関係のものがあった記憶がありますが、SCUMでしたっけ?)

入れ方使い方

落とします

http://www.sciss.de/swingOSC/ ここのdownloadから落としましょう。

$ svn co https://swingosc.svn.sourceforge.net/svnroot/swingosc/trunk/ SwingOSC

でも良いですがコンパイルしなくてはならないので面倒ですぜ。with-extrasな方は、/Applications/SuperCollider/Optional Installs/SwingOSC/ に既に入っているかもしれません。

移します
$ cp -R ./SwingOSC/SuperCollider/SCClassLibrary/SwingOSC/ ~/.sclang/SCClassLibrary/SwingOSC/
$ ls ~/.sclang/SCClassLibrary

SwingOSC.jarはsc3のフォルダに。Helpファイルはデフォが/Applications/SuperCollider/Helpなので、デフォでも良いですし。M-x sclang-customizeで変えてもおkです。

$ cp ./SwingOSC/build/SwingOSC.jar /Applications/SuperCollider/
$ ls /Applications/SuperCollider/SwingOSC.jar
$ cp -R SwingOSC/SuperCollider/Help/SwingOSC/ /Applications/SuperCollider/Help/SwingOSC
$ ls /Applications/SuperCollider/Help/
立ち上げます

emacsを立ち上げてM-x sclang-start。

GUI.current;
(
SwingOSC.program = "/Applications/SuperCollider/SwingOSC.jar";
SwingOSC.java = "/usr/bin/java";
g=SwingOSC.default.boot;
)

まず、一行目をC-c C-cしてみて、SwingOSCと表示されるのを確認しましょう。次に()をC-M-xとか実行。PostBufferにSwingOSC : server connected.って出たら完了です。とりあえず、サーバパネルをC-c C-p pって立ち上げてみましょう。

以上

使い込んでいないので使えないクラスがあるかも知れませんが、Help.gui;が使えるので個人的には良しとします。startup.rtfを起動時に読み込んでくれればこいつに記述しておくのですが、ケチなのか読みにいってくれません。~/Library/Application Support/SuperCollider/startup.rtfじゃないのかよ、と。M-x sclang-customizeにもそれっぽい設定はなさそう。.emacs.d/init.elになんか書いてやればできそうですが、よくわかんないです。
実は、C-c C-nかM-TABでおーとこんぷりーとができるのでチートシートを作り直す予定です。