GUIプラグイン
PureData 0.43が出た時に「GUIプロセスを全て書き直した」という風にチェンジログに書かれているわりには、あまりGUIに進歩が見えずガッカリした人もいるかもしれません。
しかし、実は内部的にPdのGUIは飛躍的な進歩を遂げているのです。 というのも、0.43では「GUIプラグイン」がサポートされています。これにより、GUIの振る舞いを自分で好きなようにカスタマイズできるようになったからです。
自分でGUIをカスタマイズできたら、例えばどんな事ができるのでしょうか
- デフォルトのフォントを変える
- パッチの背景色を変える
- トリプルクリックでオブジェクトボックスを作るようにする
- レベルメータが最初からオンになっているようにする
- 「o」を押したら「osc~」が「p」を押したら「phasor~」が出てくるようにする
などなど、しかしこれはごく一例に過ぎません。
GUIにカスタマイズを加えるには、標準サーチパス(Macでは ~/Library/Pd)にカスタマイズの内容を定義した「xxx-plugin.tcl」と名前をつけた「Tcl」ファイルを置くだけです。例えばこのbinding-plugin.tclというファイルをダウンロードし、~/Library/Pdの下に置いて、Pdを起動してみてください。そして、新規パッチを作り、編集モードで、「o」「r」「s」のキーを押してみましょう。「osc~」「r test」「s test」が瞬時にパッチ上に現れます。これがこのプラグインの機能です。
bindingの中身を見てみると
proc ::patch_by_key::init {} {
variable patches
# map keys to patch snippets
set patches(o) "#X obj 1 2 osc~;"
set patches(r) "#X obj 1 2 r test;"
set patches(s) "#X obj 1 2 s test;"
}
という部分がありますが、ここに例えば
set patches(p) "#X obj 1 2 phasor~;"
のように定義を足すことで、さらにショートカットを増やす事ができます。
お察しの通り、Pdでライブコーディングなどのパフォーマンスを行う場合は、かなりこのプラグインは非常に有効です。
残念ですが、GUIプラグインを書くには多少なりともPdのGUIを作っているtclの知識が必要になります。
Tclの知識がある人は、PdのGUIプラグインAPIに関する情報がここにあります。
しかし、Tclの知識のない人もいくつかのGUIプラグインのサンプルがここに置いてあるので、人が作ったものをダウンロードして使う事が可能です。