モノクロタイム

I'm from the future!

【vvvv】作ったパッチを外部パッチから呼び出せるようにする

こんにちは,れいじです.

プログラミングをやったことがある人の大部分は,関数呼び出しのプログラムを書いたことがあると思います.

vvvvでも当然関数呼び出しのプログラムを作ることができます(というかvvvv自体関数の組み合わせでプログラムを作ります).

ただ,自分で作ったパッチを別のパッチから呼びだそうとする時にどうすれば良いかなど,ドキュメントがないんですよね.vvvvookも結構読み倒した方ですが,この辺についてはサラッと書いてあるくらいで詳しい説明がありませんでした.

呼び出し元のプログラム

f:id:yomoyamareiji:20150721222220p:plain

これは以前も記事にして説明をした,音楽を再生するパッチです.

reiji1020.hatenablog.com

Filestreamノードは様々な値を受け取ることが出来ますが,例えば「あるタイミングで音楽を鳴らしたい!」という時に,FilestreamノードのPlayピン(Toggle)を呼び出し先のパッチからいじれるようにしておくと簡単にプログラムが組めますよね.

パッチは保存すると,他のノードと同じように呼び出すことが出来ます.

※呼び出し元のパッチ・呼び出す先のパッチは同じロケーションに保存されていなければなりません!

f:id:yomoyamareiji:20150721223145p:plain

確定させれば,ノードがパッチ上に配置されます.が,しかし.

f:id:yomoyamareiji:20150721223301p:plain

何も接続するピンが出ていません.これでは呼び出し元の引数の操作が出来ません.

引数を設定できるようにする

ここがvvvvookに書いていなかった所ですね.

引数を設定できるようにするには,呼び出し元のプログラムに戻り,引数に指定したいIOBoxに名前を付けてあげるだけです.

今回はFilestreamノードのPlayピンを引数として設定できるようにしたいと思います.

画像では,丁度左上の四角いトグルボタンがPlayピンの入力になっています.

f:id:yomoyamareiji:20150721223836p:plain

ctrl+iでインスペクタを開き,このトグルボタンに対して名前を付けます.今回は「Play」と名前を付けてみました.

f:id:yomoyamareiji:20150721224445p:plain

以上で,呼び出し元のパッチを保存します.

呼び出し先のパッチを確認すると…

f:id:yomoyamareiji:20150721224613p:plain

ピンが出来ました!!

f:id:yomoyamareiji:20150721224858p:plain

同じようにFilenameピンにも名前を付けてあげると,流す音楽の種類を呼び出し先のパッチから指定できるようになります.

音楽流すだけならパッチを分ける必要もないかもしれませんが…

実際は結構ごちゃごちゃしたパッチを作って呼び出したりすることになるので,いざという時は便利です.

便利なのに,解説してある記事とかドキュメントとかが見つからないんだよなー.

ではでは~