Pd の Tips をお送りしています。
前回 pd に FUDI メッセージを送る方法を見たので
今回はコマンドライン繋がりで、pd-gui にコマンドを送る方法を見てみます。pd-gui は、Pd の画面(フロントエンド)と思ってもらえればとりあえず十分です。
※ Tcl Prompt の存在を Pd パッチングサークルで教えていただいたので、これを使って流せるコマンドを調べてみました、というのが今回の記事の経緯です。
Tcl Prompt (ティクルプロンプト)
コンソールの一番下にあるアレです。
ここに適当な Tcl スクリプトを書いてやると、pd-gui の関数を呼び出したり、画面設定を変更することができます。
なお、Pd-vanilla ではデフォルトで非表示になっており、メニューから Help > Tcl Prompt
を選択すると利用できるようになります。
もしくは、pd-gui のソースを改変するという手もあります。
以下のコメントアウトを解除する。
proc ::pdwindow::create_window {} {
... (中途略)
# create_tcl_entry
}
pd-gui
肝心の入力内容。実行中の pd-gui プロセスに対して、Tcl/Tk のスクリプトを実行させることができます。
-
画面の色を変える(Pd-Extendedのみ)
set ::canvas_fill "blue"
と入力して新規ウィンドウ作成 -
コンソールをクリアする
menu_clear_console
-
コンソールにポスト
pdtk_post "abc"
pd-gui は Pd のフロントエンドにあたるプロセスで、Tcl/tk (ティクルティーケー)というスクリプト言語で書かれています。
GUIを書く方法は色々あるのですが、Pd の場合は特にビジュアルフロープログラミングということで、ドロー系のエディタ的な挙動が必要ということもあり、少ないコード量で柔軟にGUIを書くことができる Tcl/Tk を採用しているようです。