Skip to content

Instantly share code, notes, and snippets.

@maedaunderscore
Last active August 29, 2015 14:13
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save maedaunderscore/de6dc8d39f0a603d0ea6 to your computer and use it in GitHub Desktop.
Save maedaunderscore/de6dc8d39f0a603d0ea6 to your computer and use it in GitHub Desktop.
UGenの作り方

ファイルの置き場所

SC上で下記を実行して、ユーザーコンフィグディレクトリを調べてください。

Platform.userConfigDir

下記の場所にファイルを置いておくと、SC起動時に読み込まれます。(サブディレクトリも探索されます。)

<ユーザーコンフィグディレクトリ>/Extensions

UGenの作り方 その1 〜 SCだけで作る 〜

  1. scファイルを作り、ユーザーコンフィグディレクトリ以下に置いて、
  2. SCを再起動
  3. 補完候補にでてきたら成功です。
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の作り方 その2 〜 C++で作る 〜

UGenをC++で実装する場合、下記の2つをユーザーコンフィグディレクトリ以下に置きます。

  • C++(.cpp)のコードをコンパイルして作ったモジュール。macの場合は.scx、linuxの場合は拡張子なし
  • このモジュールを呼び出すためのクラスを定義したSCのコード。メソッドの本体はthis.multiNewを呼び出すだけ

詳細はSCヘルプの「Wrinting Unit Generator」を参照してください。

以下ではmac用のモジュールのコンパイルまでの手順を説明します。

  • Windowsの場合、CMakeを実行してVisual Studio用のファイルを生成可能です。それを使って、VS上でコンパイルできるはず。
  • linuxの場合、brewではなく、各ディストリビューションのパッケージツールを使用してください。コンパイルの仕方はmacと同じです。

brewをインストール

インストール手順はホームページの下の方( http://brew.sh/index_ja.html )を参照してください。
brewのインストールにxcodeが必要で、xcodeのインストールにはapple idが必要です

コンパイラなどをインストール

ターミナルを起動し、下記のコマンドを入力します。

> brew install cmake make c++ git

supercolliderのコードをダウンロード

> cd <作業ディレクトリ>
> git clone https://github.com/supercollider/supercollider.git

<作業ディレクトリ>/supercollider以下にSCのコードがダウンロードされます。

ファイルを作成して、コンパイル

SCのヘルプ(Writing Unit Generator)に従って、CMakefileと<UGenの名前>.cppを作成します。
ファイルができたら下記のコマンドでMakefileが生成されます。

> cd <CMakefileとcppファイルのある場所>
> cmake -DSC_PATH=<supercolliderのコードのパス> .

Makefileができたら、makeを実行するとコンパイルされて、(UGenの名前).scxが生成されます。

> make
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment