August 27, 2017

Please reload

最新記事

MAX 7 サウンドプログラミング基礎13

July 30, 2017

 

P301〜P305

 

・selectオブジェクト

selectオブジェクトは、入力されたメッセージがアーギュメントに一致するかを調べるオブジェクトである。一致した場合はアーギュメントの順番に対応したアウトレットからbangを出力し、どのアーギュメントにも一致しない場合は、一番右のアウトレットから受け取ったメッセージをそのまま出力する。

 

また、各インレットに関しては、アーギュメント内の数値を変更できるもので、例えば下のパッチでは第2インレットは2、第3インレットは6、第4インレットは8をそれぞれ変えたい時にそれぞれのインレットへ違う数値を送ることで変更可能である。

 

 

 

 

 

また、リスト化されたメッセージから遷都の要素のみ一致を摘出することも出来る。左パッチの場合では、送られた[mammy daddy]メッセージのうち、先頭のものが摘出されるため、bangは第2アウトレットから出力されるというわけである。

 

 

 

 

 

 

・routeオブジェクト

routeオブジェクトは、selectオブジェクトと似ており、アーギュメント内の値と受け取ったメッセージの一致を調べる。

ただし、複数の要素からなるメッセージを受け取る場合には、アーギュメントと一致する数値がメッセージの先頭にあった場合、そのメッセージの2番目以降の要素を出力するところがselectとは大きく異なる。そしてメッセージ要素がもともと一つの場合にはbangメッセージのみが出力される。

 

 

例えば、左のパッチにおいては最初の[1 4 5]を受け取ると、第1アウトレットからは1を通過した[4 5]が出力され、[1]のみだと第1アウトレットからbangのみ(ちなみにbangは、当然他の全てにおいても出力されている)、次に[5 6 7 ]の場合には一致するものがないためこの場合は第4アウトレットからすべてのメッセージが出力される。

次の[2 wash  the cat]では二つ目のアーギュメントに等しいため、2が通過して[wash  the cat]が第3アウトレットから、[RD55]においても同じように第4アウトレットから[55]が出力されることとなる。

 

 

 

 

 

 

 

※routeとlist

また、下のパッチでは面白い結果が出る。

メッセージに、コンマでで区切った数値、リスト、文字などのメッセージを同時に入れてrouteメッセージをへ送るとどうなるか。

 

まず頭の50698という数値で試すと、bangのみが出力される。

 

次に[4 6 7 8 9 0 goodmorning]という数値をアーギュメントに入力すると、4の一致が通過して2番目以降の[6 7 8 9 0 goodmorning]が出力される。

 

そして次にlistを入力をしてみたところ、[4 6 7 8 9 0 goodmorning]というリストが丸々出力された。

 

最後に、[yahoo!]においては2番目以降がないため何も出力されなかった。

 

 

 

 

 

 

Share on Facebook
Share on Twitter
Please reload

タグから検索
Please reload

アーカイブ
  • SoundCloud Social Icon

■当サイト音源や動画を著作者の許諾なく、営利目的・商用使用することを禁止します。

■著作物を個人的に楽しむ場合などを除き、著作権利者の許諾を得ないで複製 (録音)などを行うことは、著作権法で禁止されています。

Copyright © 2015 kuu-sou sound creations. All Rights Reserved.