#7 Maxで重要な「順序」① “Right-to-left, bottom-to-top” | Max サウンドプログラミングの可能性
今回から、Maxでプログラミングを行う際に重要な「順序」について複数回にわたって書いていこうと思います。
なぜ順序が重要なの?
もちろんあらゆるプログラミングにおいて順序は重要ですが、Maxの場合は状態がリアルタイムで変化していくので、順序を特に意識することが重要になってきます。
順序が重要なシーンについて簡単な例をみてみましょう。
動画は単純な引き算のプログラムですが、数字の入ったメッセージオブジェクトの「3」と「1」の場所を入れ替えると結果が変わります。
引き算のオブジェクトは、左のインレットから入った数字から、右のインレットに入った数字を、引くという動きをしますが、
右インレットに入力されるメッセージオブジェクトの場所を変えると 5 - 1 = 4 になったり 5 - 3 = 2 になったりします。
Right-to-left, bottom-to-top
Maxでは順序の大前提に「Right-to-left, bottom-to-top」という決まりがあり、
ひとつのオブジェクト、またはひとつのアウトレットからのデータの出力は基本的に「右から左」「下から上」となっています。
これで先ほどの現象を説明すると、まず最初の状態は、
・ボタンから出力された Bang はまず一番右の「1」をたたき、引き算オブジェクトの右インレットに 1 を入力させる。
・次に Bang は真ん中の「3」をたたき、引き算オブジェクトの右インレットに 3 を上書きで入力させる。
・最後に Bang は一番左の「5」をたたき、引き算オブジェクトの左インレットに 5 を入力し、5 - 3 を計算して出力させる。
と説明できます。
そして「3」と「1」を入れ替えると、
・ボタンから出力された Bang はまず一番右の「3」をたたき、引き算オブジェクトの右インレットに 3 を入力させる。
・次に Bang は真ん中の「1」をたたき、引き算オブジェクトの右インレットに 1 を上書きで入力させる。
・最後に Bang は一番左の「5」をたたき、引き算オブジェクトの左インレットに 5 を入力し、5 - 1 を計算して出力させる。
となり、最初の動画のような現象が起こるというわけです。
図のように縦にメッセージオブジェクトを並べた場合は「下から上」が適用されます。
Maxを用いて創られた音楽
この記事が気に入ったらサポートをしてみませんか?