2010年12月04日

Quartz Composer「Queue」 @ Mac

img1 img2 img3

気が向いた時に、Tipsって程でもないけど、Quartz Composerに関する事を少し書こうと思います。

最初のネタとして何にしようか少し悩みましたが、初歩的な事はあちこちにあるので、いきなり「Queue」です。

「Queue」は、意味的には辞書を引くと「順番待ちの列」って事ですが、まさにそんな感じのパッチです。

インプットパラメータのValueに入れた値を、Queue Sizeで指定した個数分だけ、保持して、Structure型として出力してくれます。値は、FillingがTrueの時に取り込まれます。また、Reset SignalがTrueに成ると中身は一度空に成ります。

わかりやすい例として、Audio Inputを使って、音量のピークを視覚的に表示してみます。

まずは、Audio Inputパッチを使って、Volume PeakをQueueパッチのValueへ繋ぎます。そのまま繋いだのでは、値が小さいので、Mathパッチで10倍くらいにしています。Queue Sizeに関しては、大きめの方が波形表示したみたいになるので、200位にしています。もっと大きくしても良いと思いますが、環境に依っては重くなるかもしれません。

Queueパッチの内容を表示する為にIteratorパッチを使います。予めIteratorパッチの中にStructure Index Memberパッチを配置して、インプットパラメータのStructureをパブリッシュしておきます。パブリッシュする事で、親のIteratorパッチのインプットしてStructureが表示されるので、Queueパッチの出力から繋ぎます。

また、表示用にSpriteパッチを使い、表示する位置は、Iterator Variablesパッチを使ってCurrent IndexとIterationsの値をMathパッチで加工してSpriteのX Positionへ入れています。こうする事でインデックスに応じて位置をずらしています。Spriteの幅も、Iterator VariablesパッチのIterationsの値に応じて変化するようにしています。Spriteの高さは、音量のピークを貯めてあるQueueパッチの出力を使用するので、Structure Index MemberパッチのIndexにIterator VariablesパッチのCurrent Indexを繋いで、インデックスに応じた値を取り出して、SpriteのHeightへ入れています。

後は、見た目が白いままだと寂しいので、HSL Colorパッチを使って、一つずつ色が変化するようにしています。方法としては、Iterator VariablesパッチのCurrent PositonをHSL ColorパッチのHueに繋ぎ、SaturationとLuminosityは0.5にしています。

主な構成としてはこんな感じです。説明を可成り端折っているので、初歩的なところが分かってないと理解出来ないかもしれませんが、比較的簡単に、こんな事が出来ると分かって貰えたのではないかと思います。(写真が三枚しか掲載出来ないシステムなので、画像を含めた説明としては実はこれが限界だったりします。)

Queueが保持出来るデータは必ずしも数字って事でもないので、VideoのImageを繋いで、色々遊べたりします。これはこれでなかなか面白いので、お試しあれ。ただ、そのままVideoに応用したので、イマイチなので、次に紹介するかも。

閲覧数: 4091 / はてなブックマークusers

関連商品

amazon.co.jp・詳細ページへ

blog comments powered by Disqus

関連日記

アマゾン広告

この日記ページは閲覧数などの条件に応じて、閲覧制限を行っています。他からリンクしていただいても、そのリンクから辿った閲覧者が当ページの内容をご覧頂けない場合があります。ご了承下さい。

▼日記検索

Mac

Shade

3D

Flash

ゲーム

ウェブ

音楽

映画

デジカメ

Windows

Linux

携帯電話

テレビ

広島

電子工作

iOS

▼ 最近のトラックバック

▼ランキング

▼関連サイト