top of page

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

P299〜300

条件指定において、splitオブジェクトを用いることで、アーギュメント内で指定した範囲によって数値を振り分けて出力することが出来る。アーギュメントは、二つの整数によって最小値と最大値を指定し、その範囲の整数を第1インレットに受け取った場合は、その整数を第1アウトレットから出力。範囲外のものであれば第2アウトレットから出力を行う。

右のパッチで、sliderオブジェクトを動かして範囲内と範囲外の数値の出力のされ方を見ることが出来る。なお、splitオブジェクトの第2インレットには最小値を、第3インレットには最大値の変更したい値を入力することが可能である。

また、splitオブジェクトに似ているが、clipオブジェクトも最小値と最大値の範囲内を出力するオブジェクトである。ただし、clipp部ジェクとの方は、アウトレットが一つだけで、最小値よりも小さい数値は最小値として、最大値より大きい数値は最大値として出力される。

では、これもまたlcdオブジェクトで応用してみよう。

下図のように、x軸(left座標)の範囲を指定したドット作成であるが、splitの場合は範囲外のものが完全に無視されているのに対し、clipの場合は範囲外のものはそれぞれ最小値、最大値として出力されているのが分かる。

また、clipオブジェクトの方では、right座標にあたる[+]オブジェクトが受け取る値をclipからではなく上のrandomから引っ張ってしまうと、指定した範囲外の場合は最小値最大値の各座標から左右に広がったドットとして反映されてしまうため、ここではclipのアウトレットから出力される数値をそのまま入力しなければいけない。

ちなみに、splitオブジェクトの場合はそもそも範囲外の場合はpaintovalへbangが届かないため、[+]オブジェクトが受け取る値をrandomオブジェクトから直接もってきても問題はない。

タグ:

最新記事
アーカイブ
タグから検索
bottom of page