1003:Maxビギナーズ・チュートリアル(002):佐近田展康 


------------------------------------------------------------------------
DSPマガジン 2003.02.17 No.1003
------------------------------------------------------------------------

Maxビギナーズ・チュートリアル(002)
オブジェクトの基礎

佐近田展康

前回はMaxプログラミングの第一歩、いわばお道具箱を紹介しました。Maxは直
感的に理解しやすいグラフィカルなプログラミング環境ということは理解いただ
けたでしょうか。白紙のパッチャー・ウィンドウにオブジェクト・パレットから
オブジェクトを取りだして並べ、それらのインレットとアウトレットをパッチ
コードで結ぶことがMaxプログラミングでした。

しかし簡単そうに見える一方で、たくさんあるオブジェクトを覚えなければいけ
ない不安、自分が行いたい処理に適切なオブジェクトをどう選べばいいかという
不安、単機能のオブジェクトとはいえインレットやアウトレット、アーギュメン
トの意味など非常に複雑に見えてしまう不安…などを感じている方も多いと思い
ます。

そこで今回はオブジェクトにテーマを絞って、その共通した特徴や取り扱い方を
紹介したいと思います。まず前回も触れたようにMaxオブジェクトはノーマル・
オブジェクトとそれ以外のユーザー・インターフェイス・オブジェクトに大別さ
れます。ユーザー・インターフェイス・オブジェクトはその形状を見れば何のた
めに使うものか予想がつく場合が多いので馴染みやすいかも知れません。オブ
ジェクト・パレットから取りだしてそのまま使うことも多いのですが、目的に応
じて細かな設定を行って使用することもできます。

【sample2-1】はナンバー・ボックス・オブジェクトの形状や表示形式をさま
ざまに設定変更してみたものです。サイズ、フォントの変更はパッチがアンロッ
ク状態でオブジェクトを選択し、Fontメニューから変更することができます。
ボックスの形状ならびに表示形式、数字色や背景色はパッチがアンロック状態で
オブジェクトを選択しObjectメニューからGet Infoを選ぶ(あるいはコマンド
キー+Iを押す)ことで開くインスペクター・ウィンドウで設定することが出来
ます。インスペクター・ウィンドウはすべてのオブジェクトについて用意されて
いるわけではありませんが、初めて使用するオブジェクトについては一度確認し
てみる癖を付けたいものです。またWindowsメニューでShow Floating
Inspectorを選んでおくと常にインスペクター表示用のウィンドウが開き、あと
はオブジェクトをマウスで選択するだけでそこに自動的にインスペクター・ウィ
ンドウの内容が表示されるので利用すると便利でしょう。

【sample2-2】は同じくユーザー・インターフェイス・オブジェクトである
hslider、uslider、dialの設定をさまざまに変更してみたものです。hslider、
usliderについてはパッチがアンロック状態でオブジェクトを選択し、Objectメ
ニューのColorでパレットから好きなカラーを選択することができます。このカ
ラー・パレットはOptionsメニューのColorsでユーザーの好みに設定し直すこと
も可能です。

その他の設定はすべてインスペクター・ウィンドウにより行っています。通常
hslider、uslider、dialともオブジェクト・パレットから取りだした状態では0〜
127の範囲で1刻みの整数を出力しますが、目的によっては使いづらいかも知れ
ません。そこでインスペクター・ウィンドウにより出力数値の範囲や刻みを変更
することができます。レンジ(Range)はスライダー(ダイヤル)の刻みの数、
オフセット値(Offset)は最小値、倍数(Multiplier)は刻みの大きさをそれぞ
れ設定します。自由に設定を変更してオブジェクトの出力数値がどう変化するの
か確認してみましょう。

さて次はノーマル・オブジェクトの番です。ノーマル・オブジェクトは共通した
形状のオブジェクト・ボックスにオブジェクト名を書き込むことでパッチに読み
込んで使用します。オブジェクト名は覚えていれば直接タイプしてもいいです
し、自動的に開くNew Objectリストから選ぶこともできます。New Objectリス
トを自動的に開くかどうかの設定はOptionsメニューでNew Object Listをチェッ
クするかどうかにより変更することができます。New Objectリストの左欄はカ
テゴリを示し、右欄にはそのカテゴリに属するオブジェクト名が並びます。最初
はどのオブジェクトも目新しくカテゴリの区別も分かりにくいかも知れません。
その時はカテゴリをAll Objectsとし全オブジェクトの一覧から選ぶ方が良いで
しょう。

【sample2-3】は足し算、引き算、掛け算、割り算という四則演算を行うオブ
ジェクトを並べた例です。前回説明したようにオブジェクト名の後に続けてオブ
ジェクトの状態を書き込んだものをアーギュメントと呼びます。アーギュメント
の個数や意味はオブジェクトごとに異なっており、+、-、*、/の場合は個数が1
個で、それは四則演算を行う数値を意味します。つまりオブジェクト名"+"の後
に続けてアーギュメント"5"を書き込めば左インレット(第1インレット)から
受け取る数値に5を足し算するという意味になります。

ほとんどのオブジェクトの場合、このアーギュメントは書き込んでも省略しても
どちらでも構いません。この「どちらでも良い」をMaxではoptionあるいは
optionalという言葉で表現することがあります。書き込まない場合は代わりにオ
ブジェクトごとに決められたデフォルト(default)値が自動的に設定されま
す。デフォルト値とは「何も設定しなかった場合の初期値」だと考えてもらって
いいでしょう。逆に言えばアーギュメントはユーザー側が自由に設定した初期値
だと考えることができます。+、-、*の場合はデフォルト値は0で、/の場合はデ
フォルト値は1になっています。optionalやdefaultという言葉はぴったりと当て
はまる日本語がないのですがMaxのマニュアルを読んだりヘルプを参照する際に
頻繁に出てきますのでここでイメージをつかんで下さい。

さて、アーギュメントはユーザーが自由に設定した初期値ですが、もしあなたの
パッチで常に5を足し算する計算が必要ならアーギュメントとして5を書き込ん
でおけばあとは何も気にしなくて構いません。しかし、10を足したり100を足
したりと数値を変えたい場面もあるでしょう。+、-、*、/の場合、右インレット
(第2インレット)に受け取る数値によりアーギュメントの初期値は内部で書き
換えられますので、そこにナンバー・ボックスやメッセージ・ボックス等を繋い
で数値を入力してやればいつでも自由に変更できます。

ここでオブジェクトの振る舞いについてひとつの大切な話に触れておきます。
Maxオブジェクトは「何かのきっかけが与えられた時にはじめて動作する」とい
う共通した性格を持ちます。多くの場合、きっかけは一番左の第1インレットに
メッセージを受け取った時になります。【sample2-3】の中央のパッチ例では+
オブジェクトの第2インレットに数値を入力することで足し算する数値はいつで
も自由に変更できますが、それを行っても+オブジェクトは計算結果をすぐに出
力するわけではありません。第1インレットから数値を受け取った時に初めて+
オブジェクトは計算を実行しその結果を出力します。このようにMaxオブジェク
トの第1インレットは他のインレットとは違った特別の役割を担っている点は注
意してください。

【sample2-3】の右側のパッチ例では第2インレットにメッセージを与えた時に
も計算を実行させるように工夫したものです。buttonオブジェクトはbangと呼
ばれる特殊なメッセージを出力し、それを+オブジェクトの第1インレットに与
えることで計算のきっかけを与えています。bangメッセージ等のメッセージの
種類については次回まとめて紹介したいと思います。

最後にオブジェクトの理解を助けるMaxの補助機能について説明します。パッチ
をアン・ロック状態にしてインレットあるいはアウトレットにマウスのポインタ
を当てると、その意味や入出力するメッセージの種類を知る簡単なヒントがアシ
スタンス・エリアに表示されます。非常に簡潔なヒントで、これだけでオブジェ
クトの機能を理解することは難しいですが、そのオブジェクトについてすでに
知っている場合には有効なヒントになるでしょう。【sample2-4】参照。

パッチをアン・ロック状態にしてオブジェクトを選択しヘルプ・メニューから
Help on...を選ぶ(あるいはオプションキーを押しながらクリックする)とオブ
ジェクト・ヘルプが開きます。このオブジェクト・ヘルプは極めて優れたもの
で、それ自体がひとつのパッチになっておりオブジェクトの動作について実際に
動作させながら確認することができます。説明は英語ですが直感的に理解できる
よう工夫されていますので、多くの場合実際に動作させればオブジェクトの機能
を知ることができます。またそれ自体がひとつのパッチですからアン・ロック状
態にして必要な部分をコピーし自分のパッチにペーストすることも可能です。
OptionsメニューでHelp in Locked Patchersをチェックしておくとパッチがロッ
ク状態でもオプションキーを押しながらクリックすることでオブジェクト・ヘル
プを開くことができます。

もちろんMax付属のマニュアルもおおいに活用してください。Max/MSP
Documentationフォルダに入っているMax4Reference.pdfは個々のオブジェク
トについてその機能のすべてを詳細に解説したものです。
Max4GettingStarted.pdfはMaxの概説と最初に行うセットアップを解説し、
Max4TutorialsAndTopics.pdfは初歩から段階的にMaxプログラミングを学ぶ優
れたチュートリアルです。
日本語資料としては「トランスMaxエクスプレス」の第9章オブジェクト・リス
トがオブジェクトの理解と選択を助けるでしょう。

* ここで説明したパッチは、以下のリンクをクリックしてダウンロードできます。
MBT002files.sit

------------------------------------------------------------------------

暫定版ながら、DSPマガジンのWEBサイトを作りました。
メルマガの発行確認や購読中止などの操作は、こちらをご覧ください。

http://dspmag.iamas.ac.jp/

------------------------------------------------------------------------
Copyright(C)2003 DSP Magazine. All Rights Reserved. 転送・転載禁止
------------------------------------------------------------------------ 

       


©