UNIX Command – execute in Quartz Composer
5月 21, 2009
説明:
Quartz Composer でUNIX コマンドを実行する方法について、osascript コマンドでAppleScript を実行する例を用いて説明します。
・CommandLineTool Plug-in を使用します。
・プラグインの使い方はこちらを、AppleScript についてはこちらを参照してください。
Command Line Tool Patch の使い方:
“Path” に実行するコマンドのパスを入力します。
パスを調べるコマンドは
$ which osascript
osascript のパスは
/usr/bin/osascript
です。
AppleScript (osascript) の実行:
osascript でAppleScript を実行するには3つの方法があります。
1. Argument として、スクリプトファイルのパスを渡す
2. Argument として、-e オプションでスクリプトを1行ずつ渡す
3. “Standard In” にスクリプトを入力する
複数行のスクリプトを”Standard In” に送るには、String Printer Patch を使うと便利です。
Settings パネルの中で改行するには「option + return」を押します。
他のエディタからコピー&ペーストすることもできます。
注意点:
Command Line Tool Patch は、出力が接続されていないと実行されません。今回はAppleScript から何も表示が無いので、Output Status を表示するのが良いと思います。
以上で、QC からUNIX コマンドを実行、osascript を経由したAppleScript の実行を習得しました。
これにOSC パッチを組合わせて、iTunes Controller が完成します。原因が分からないのですが、Command Line Tool の表示が化ける事があるので、2つに分けています。メインのiTunes コントローラ(OSC-Reciever-for-iTunes.qt) と、OSC sender (OSC-Sender-for-iTunes.qtz) になります。
sender はArduino でもiPhone でも何でも構いません。
別のMac でOSC-Sender-for-iTunes.qtz を開いてコントロールすることも可能です。
AppleScript を変更すれば、DVD プレーヤーやSafari など、他のアプリのコントローラーを作ることができます。