SC上で下記を実行して、ユーザー・コンフィグディレクトリを調べてください。
Platform.userConfigDir
postウィンドウを見ると以下のようなパスが表示されます。このSuperColliderフォルダ内にSuperColliderの拡張クラスやUGenが保存されています
/Users/username/Library/Application Support/SuperCollider
下記の場所にファイルを置いておくと、SCの起動時に読み込まれます。(サブディレクトリも探索されます。)
<ユーザーコンフィグディレクトリ>/Extensions
- scファイルを作り、ユーザーコンフィグディレクトリ以下に置きます。拡張子は.scにします。
- SCを再起動するかLaguageメニューから「Recompile Class Library」 を選択します。
- 補完候補にでてきたら成功です。
MySaw : UGen {
*ar { arg freq = 440.0, iphase = 0.0;
^Saw.ar(freq, iphase)
}
*kr { arg freq = 440.0, iphase = 0.0;
^Saw.kr(freq, iphase)
}
}
UGenをC++で実装する場合、下記の2つをユーザー・コンフィグディレクトリ以下に置きます。
- C++(.cpp)のコードをコンパイルして作ったモジュール(プラグイン)。macの場合は.scx、linuxの場合は拡張子なし
- このモジュールを呼び出すためのクラスを定義したSCのコード。メソッドの本体はthis.multiNewを呼び出すだけ
詳細はSCヘルプの「Wrinting Unit Generator」を参照してください。
以下ではmac用のモジュールのコンパイルまでの手順を説明します。
- Windowsの場合、CMakeを実行してVisual Studio用のファイルを生成可能です。それを使って、VS上でコンパイルできるはず。
- linuxの場合、brewではなく、各ディストリビューションのパッケージツールを使用してください。コンパイルの仕方はmacと同じです。
インストール手順はホームページの下の方( http://brew.sh/index_ja.html )を参照してください。
brewのインストールにxcodeが必要で、xcodeのインストールにはapple idが必要です
ターミナルを起動し、下記のコマンドを入力します。
> brew install cmake make c++ git
> cd <作業ディレクトリ>
> git clone https://github.com/supercollider/supercollider.git
<作業ディレクトリ>/supercollider以下にSCのソースコードがダウンロードされます。
SCのヘルプ(Writing Unit Generator)に従って、CMakefile(CMakeLists.txt)と <UGenの名前>.cppを作成します。
ファイルができたら、下記のコマンドでMakefileが生成されます。2行目で指定しているsupercolliderのコードのパスは、先ほどダウンロードしたSCのソースコードの置かれている場所のことです。
> cd <CMakefileとcppファイルのある場所>
> cmake -DSC_PATH=<supercolliderのコードのフルパス> .
Makefileができたら、makeを実行するとコンパイルされて、(UGenの名前).scxが生成されます。
> make