Quartz Composerのプラグインを作ってみる

パッチを貼ったり繋いだりするだけで、コーディングなしでもヴィジュアルが作れてしまうQuartz Composer。 しかし、プラグインを作ればより複雑な事ができるようなので簡単な物を作ってみました。

環境: XCode Version 4.6.1 OSX10.8

① まずは新規作成からApplication Plug-in > Quartz Composer Plug-inを選択します。 make plugin1   ② 名前を付けてNextをクリック。 今回は「指定した文字列がinputValueに含まれるかをチェックする」というプラグインにするので、CheckStringという名前にしました。 make plugin2

③ 自動的にここまで書いてくれます。 「kQCPlugIn_Description」というdefineにはプラグインの説明を書いておきましょう。

make plugin3

④ ヘッダーを書き換えます。

CheckStringPlugIn.hの中身を次のようなコードにします。

inputValueとinputTargetが、パッチの左側にある入力ポートになります。

⑤ 判定関数を書く

CheckStringPlugIn.mの一番下に次のような関数を書き足します。 カンマ区切りでいくつかの文字列を入力できるように、componentsSeparatedByStringを使ったマッチングになりました。

⑥ executeを記述

プラグインではexecuteが最終的な実行関数になります。

⑦ 初期値を変えてみる

CheckStringパッチを選んだ時に、inputValueに最初から入ってる文字を変えてみます。 こういったポートの設定はattributesForPropertyPortWithKey関数で設定できます。

⑧ ビルドしてからQCを起動 新しいプラグインを入れた場合、またはプラグインを変更した場合は必ずQCを再起動させる必要があります。 ビルドしたプラグインは自動的にQCにインストールされるので、ライブラリから探す事ができます。 make plugin4     ⑨ 動作確認 うまくいってますな! make plugin6

以上でプラグインが完成しました。 インストールされたプラグインは「”USER”/Library/Graphics/Quartz Composer Plug-Ins」に保存されてる「CheckString.plugin」になります。