Maxへのメッセージ:
Max アプリケーションのコントロール

;max メッセージ

メッセージボックスを使って、Max アプリケーションをコントロールすることができます。そのためのメッセージは、すべて ;max で始まります(これは、実際に maxという名前の receive オブジェクトが存在するかのような書き方です)。次は、Max アプリケーションが認識するメッセージのリストです。

Max が認識するメッセージ

#SM この章の最後にある、「MIDI設定メッセージ」セクションを参照して下さい。

boxcolor Color サブメニューの15 あるデフォルトのオブジェクト色の1つを設定します。boxcolor には 5つのアーギュメントが続きます。最初のアーギュメントは、インデックス(1〜15)を指定し、次の3つは、 0〜255 の範囲の値でこのインデックスに使用する色を指定します。最後の値は、この変更をユーザの初期設定に上書きするかどうか(1 または 0)を指定します。

buildcollective buildcollective という語の後に 参照名のシンボルと出力ファイル名を続けると、シンボルに関連づけられたパッチャーを使ったコレクティブをビルドします。コレクティブの名前は出力ファイル名になります 。

buildplugin buildplugin という語の後に 参照名のシンボルと出力ファイル名を続けると、シンボルに関連づけられたパッチャーを使ったVST プラグインをビルドします。プラグインの名前は出力ファイル名になります。

checkpreempt checkpreempt という語の後にシンボルを続けると、現在のオーバードライブモードをシンボルと同じ名前を持つ receiveオブジェクトに送信します。

clean ウィンドウを閉じたり、Max を終了したりする場合に Save Changes ダイアログ(変更を保存するかどうか尋ねるダイアログ)を表示しないようにします。この場合、ウィンドウの内容に変更があってもダイアログは表示されません。このメッセージは後述の quit メッセージと組み合わせると便利です。

closefile closefile という語の後にシンボルを続けると、以前にMax への openfile メッセージによって開いていた、シンボルに関連づけられたパッチャーファイルを閉じます。

debug debug という語の後に 0 または 1 を続けると、Max 内部のデバッグ出力のMax ウィンドウへの送信を切り替えます。デバッグ情報は、Max自体をデバッグしていないユーザにはあまり役にたたないでしょう 。

enablepathcache enablepathcache という語の後に 0 または 1 を続けると、Max のサーチパス用キャッシュのオン/オフを切り替えます。これは、ファイルを開くときに異常な動作が見られる場合にのみ使用するべきです 。

enablerefresh (Macintosh のみ) enablerefresh という語の後に 0 または 1 を続けると、スクリーンの表示を更新する方法を標準のものから切り替えます。結果として、より良い「画面出力のパフォーマンス」が得られます。この記法はデフォルトで使用可になっています。リフレッシュが行なわれる速さ(リフレッシュレート)は setrefreshrate メッセージによって設定できます。

externs Max ウィンドウに、現在ロードされているすべてのエクスターナルオブジェクトのリストが表示されます。

fileformat fileformat という語の後に、ファイル拡張子と4 文字のファイルタイプを指定する2つのシンボルを続けて、Max に対し、ファイル拡張子と特定のファイルタイプを関連づけるよう指示します。fileformat .tx TEXT というメッセージは、ファイル拡張子 .txt を TEXT(text) というファイルタイプのファイルと関連づけます。これによって、ユーザは read george というメッセージを送信して、"george.tx" という名前のファイルの場所を示すことができるようになります。また、これにより、標準オープンファイルダイアログでテキストファイルが選択された場合に、ファイル拡張子 .txt を持つファイルが確実に表示されるようになります。

fixwidthratio fixwidthratio という語の後に、浮動小数点数を続けると、ユーザが Object メニューから Fix Width を選んだときの、テキストの幅に対するボックスの比率を設定します。デフォルトの値は1.0 です。値 1.1ではボックスは必要な幅より広くなり、値 0.9 では必要な幅より狭くなります 。

getboxcolor getboxcolor という語の後に 1 〜 15 の値とシンボルを続けると、指定されたインデックスのデフォルトのオブジェクト色の RGB の値をリストにして、シンボルと同じ名前を持つ receiveオブジェクトに送信します。

getdefaultpatcherheight getdefaultpatcherheight という語の後に、receiveオブジェクトの名前として使用されているシンボルを続けると、Max は現在のデフォルトのパッチャーの高さのピクセル数を、指定された名前の receiveオブジェクトに報告します。(Max への setdefaultpatcherheight メッセージを参照して下さい。 )

getdefaultpatcherwidth getdefaultpatcherwidth という語の後に、receive オブジェクトの名前として使用されているシンボルを続けると、Max は現在のデフォルトのパッチャーの幅のピクセル数を、指定された名前の receiveオブジェクトに報告します。(Max への setdefaultpatcherwidth メッセージを参照して下さい。)

getenablepathcache getenablepathcache という語の後に、receive オブジェクトの名前として使用されているシンボルを続けると、パスキャッシュが使用可かどうかを、指定された名前の receive オブジェクトに報告します(Max への enablepathcache メッセージを参照して下さい)

getenablerefresh (Macintosh のみ) getenablerefresh という語に、receive オブジェクトの名前として使用されているシンボルを続けると、enhanced refresh(スクリーン表示のリフレッシュの強化)が使用可になっているかどうかを、指定された名前の receive オブジェクトに報告します(Max への enablerefreshメッセージを参照して下さい) 。

geteventinterval geteventinterval という語に、receive オブジェクトの名前として使用されているシンボルを続けると、イベントのインターバルを、指定された名前のreceiveオブジェクトに報告します(Max への seteventinterval メッセージを参照して下さい)。

getfixwidthratio

getfixwidthratio という語に、receive オブジェクトの名前として使用されているシンボルを続けると、現在の fix with ratio(Object メニューから Fix Width を選んだときの、テキストの幅に対するボックスの比率)の値を、指定された名前の receive オブジェクトに報告します(Max への fixwidthratioメッセージを参照して下さい)。

getpollthrottle getpollthrottleという語に、receive オブジェクトの名前として使用されているシンボルを続けると、現在の poll throttle(スケジューラが1回の呼び出しで実行するイベントの数の最大値)の値を、指定された名前の receive オブジェクトに報告します(Max への setpollthrottle メッセージを参照して下さい)。

getqueuethrottle getqueuethrottle という語に、receiveオブジェクトの名前として使用されているシンボルを続けると、Maxは現在の queue throttle(低い優先度のキューハンドラが1回の呼び出しで扱う、低い優先度のイベントの数の最大値)の値を、指定された名前のreceiveオブジェクトに報告します(Max への setqueuethrottle メッセージを参照して下さい) 。

getrefreshrate (Macintosh のみ) getrefreshrateという語に、receive オブジェクトの名前として使用されているシンボルを続けると、Max は現在のリフレッシュレート(refresh rate)をヘルツ(Hz)単位の値として、指定された名前の receive オブジェクトに報告します(Max への setrefreshrateメッセージを参照して下さい)。

getruntime getruntime という語に、receive オブジェクトの名前として使用されているシンボルを続けると、実行されている Max がランタイムバージョンの場合は 1 を、そうでない場合は 0 を指定された名前の receive オブジェクトに送信します。

getsleep getsleep という語に receive オブジェクトの名前として使用されているシンボルを続けると、スリープタイムを指定された名前の receiveオ ブジェクト に報告します (Max への setsleepメッセージを参照して下さい)。

getslop getslop という語に、receive オブジェクトの名前として使用されているシンボルを続けると、スケジューラのスロップ値を、指定された名前の receive オブジェクトに報告します (Max への setslop メッセージを参照して下さい)。

getsystem getsystem という語に、receive オブジェクトの名前として使用されているシンボルを続けると、システム名(macintosh または windows)を指定された名前の receive オブジェクトに報告します。

hidecursor カーソルが表示されている場合、非表示にします 。

hideglobal フローティング・インスペクタウィンドウを非表示にします。

hidemenubar メニューバーを非表示にします。メニューバーが非表示になるとプルダウンメニューが使用できなくなりますが、ショートカット(アクセラレータ)キーは動作します。

htmlref htmlref という語に、オブジェクト名をシンボルとして続けると、サーチパス内で<オブジェクト名>.html というファイルを探します。見つかった場合、web ブラウザが開き、そのページを表示します。

interval interval という語に、1〜20 の数値を続けると、Max の内部スケジューラのタイミングインターバルをミリ秒単位でセットします。デフォルトの値は 1 です。このメッセージは、オーバードライブがオンで、スケジューラのオーディオ割り込み(MSPで利用できます)がオフの場合にスケジューラに影響を与えます。(オーディオ割り込みモードでスケジューラを使っている場合には、シグナルベクタサイズがスケジューラのインターバルを決定します)。スケジューラのインターバルを大きくすると、より遅いコンピュータではCPU効率を改善することができますが、タイミングの精度は低下します。

launchbrowser launchbrowser という語に URL をシンボルとして続けると、ウェブブラウザを開いて、その URL を表示します。例えば、;max launchbrowser http://www.cycling74.com

maxinwmenu Max のランタイムバージョンを使用している場合、maxinmenu の後に数値 1 を続けると、ウィンドウメニューに Status という項目が表示されます。これによって、ユーザはMax ウィンドウを見ることができるようになります(ランタイムバージョンでは、ウィンドウにStatus というラベルが表示されます)。maxinmenu の後に 0 を続けると、メニュー項目は表示されません。デフォルトでは、Windows メニューに Status という項目が表示されます。

midi midi という語に 可変長メッセージを続けると、システムの MIDI オブジェクトにメッセージを送って環境設定を行なうことができるようになります。次は、利用できるオプションのリストです。

autosetup
MIDI セットアップウィンドウで Auto Setup ボタンをクリックする動作を複製します。

portabbrev <innum / outnum> <portname> <abbrev>
innum は入力ポートを指定し、outnum は出力ポートを指定します。portname はポート名を1つのシンボルで現されるポート名(従って、ダブルクォートを使用する必要があります) です。. abbrev の値が 0 の場合は省略名がない(メニューでは - で表示されます)ことを表し、 1は'a' 、26 は 'z' を表します。

portenable <portname> <0/1>
ポート名(portname)で指定されたポートを使用可(1)、使用不可(0)にします。デフォルトでは、すべてのポートは使用可です。

portoffset <innum / outnum> <portname> <offset>
portabbrev と同様ですが、offset は、MIDI オブジェクトがチャンネルナンバによって複数のポートから入出力を行なうことが可能な場合に、入力または出力ポートを確認するために追加されるチャンネルオフセットです。これは16 の倍数でなければなりません(例えば、「max midi portoffset innum PortA 16」では、PortA というデバイスのチャンネルオフセットを 16 に設定します)。

midilist すべてのカレントの MIDI デバイスを Max ウィンドウに表示します(上記のMax への MIDI メッセージも参照して下さい)。

notypeinfo (Macintoshのみ) notypeinfo という語に 0 または 1 を続けると、Max がファイルの保存を行なう際に、従来から Mac OS で使用されている 4 文字によるファイルタイプ情報を保存するかどうかを設定します。デフォルトでは、Max はこの情報をファイルに保存します。

objectfile objectfile という語に、オブジェクト名とファイル名を指定する 2 つのシンボルを続けると、エクスターナルオブジェクトとファイル名の間のマッピングを作成します。例えば、*~ オブジェクトはtimes~ というファイルにあります。そのため、スタートアップの際に、Max は「 max objectfile *~ times~ 」というコマンドを実行します。

openfile openfile という語に、参照名とファイル名またはパス名を指定する 2 つのシンボルを続けると、指定された名前でパッチャーを開こうとします。成功した場合、パッチャーは参照名を表すシンボルに関連付けられ、これをMaxに対する、buildcollectivebuildpluginclosefile メッセージへのアーギュメントとして渡すことができるようになります。openfile メッセージはプラグインやコレクティブのビルドを目的としたものです。

paths Max ウィンドウに、現在のサーチパスをリストとして表示します。File Preferences ウィンドウには、これを行なうボタンがあります。

preempt preempt という語に、1(オン) または 0(オフ) を続けると、オーバードライブモードの切り替えを行ないます。

pupdate pupdate という語の後に、2 つの整数値を続けると、水平方向と垂直方向の位置を指定し、マウスカーソルをそのグローバル位置に移動します。

quit Max アプリケーションを終了します。File メニューから Quit を選んだ場合と同じです。開いているファイルに保存されていない変更があり、Max に clean メッセージを送っていない場合、Max は変更を保存するかどうかを尋ねてきます。

refresh Max のすべてのウィンドウを更新します。

runtime runtime という語に 0 または 1 とメッセージを続けると、メッセージを実行します。実行中の Max のバージョンがランタイムバージョンの場合は(1)、あるいはラインタイムバージョンでない場合は (0)です。

sendinterval sendinterval という語に、シンボルを続けると、現在のスケジューラのインターバルをシンボルと同じ名前をを持つ receive オブジェクトに送信します。

sendapppath sendapppath という語にシンボルを続けると、アプリケーションのパスをシンボルとして、メッセージのシンボルと同じ名前を持つ receive オブジェクトに送信します。

setdefaultpatcherheight setdefaultpatcherheight という語に、100 より大きい整数値を続けると、デフォルトのパッチャーの高さをピクセル単位で設定します。

setdefaultpatcherwidth setdefaultpatcherwidth という語に、100 より大きい整数値を続けると、デフォルトのパッチャーの幅をピクセル単位で設定します。

seteventinterval seteventinterval という語の後に整数値を続けると、イベントレベル・タイマの呼び出し間隔をセットします(デフォルト値は 2 ミリ秒です)。このイベントレベル・タイマは、ユーザインターフェイスの描画の更新やムービーの再生のような、低い優先度のタスクを取り扱います。

setrefreshrate (Macintosh のみ) setrefreshrateという語の後に数値を続けると、ディスプレイ表示の更新の速さを、1秒あたりのフレーム数(フレームレート)によって設定します。Macintosh システムでは、スクリーンが更新される速さは、表示内容を変更する速さとは関連しません。より良い「視覚的なパフォーマンス」のためには、フレームレートに高い値を設定します。この場合、Jitter のパフォーマンスは僅かに低下しますが、オーディオ処理のパフォーマンスの低下はほとんどありません。enablerefresh 1 メッセージによって refresh が使用可に成っている場合、デフォルトの速さは 28.57 FPSです。この refresh はデフォルトではオフになっています。

setsleep setsleepという語の後に数値を続けると、次のシステムイベントを得るための呼び出しまでの時間間隔を、1/60 秒単位で設定します。デフォルト値は 2 です。

setpollthrottle setpollthrottle という語の後に、整数値を続けると、スケジューラが1回の呼び出しで実行するイベントの数の最大値を設定します(デフォルト値は20です)。この値を低く設定すると、効率化をはかれますが、その代償としてタイミングの正確さが減少する可能性があります。

setqueuethrottle setqueuethrottle という語の後に、整数値を続けると、低い優先度のキューハンドラが1回の呼び出しで扱う、低い優先度のイベントの数の最大値を設定します(デフォルト値は 2 です)。 この値を変更すると、ユーザインターフェイスのレスポンス(反応)に影響を与える可能性があります。

setslop setslop という語の後に、浮動小数点数を続けると、スケジューラのスロップ値(イベントの時刻が現在時刻と合致するように調整されるより前に、スケジュールされたイベントを現在時間より早めることができる時間の量)を設定します。デフォルトの値は 25 ミリ秒です。

shortcut shortcutという語の後に、シンボル、およびテキストを追加すると、オブジェクトボックスやメッセージボックスにそのシンボルを入力して [ESC] キーを押したときに、そのシンボルを指定したテキストで置き換えるようになります。これをショートカットと呼びます。一般的に、ショートカットは Cycling'74 フォルダ内の init フォルダの中にあるファイルに追加されます。デフォルトのショートカットはmax-shortcuts.txtとaudio-shortcuts.txt というファイルの中に書かれています

showcursor カーソルが非表示の場合に、カーソルを表示します。

showglobal フローティング・インスペクタウィンドウを表示します。

showmenubar hidemenubar で非表示にされていたメニューバーを表示させます。

size シンボルテーブルのシンボル数を Max ウィンドウに表示します。

system system という語の後に、オペレーティングシステムの名前(Windows あるいは Macintosh ) とメッセージを続けると、Max が指定された OS で動作している場合にそのメッセージを実行します。

MIDI設定メッセージ

以下のメッセージは、システム上でMIDIの環境設定を行ない、MIDIの演奏用として組み込みの DLSシンセサイザ(ダウンロード可能なサウンドフォントを用いたシンセサイザ)にアクセスするために使用されるものです。デフォルトでは、1つの augraph(Max OS X の場合)、または midi_dm(Windows の場合)ポートが作成されます。しかし、MIDI シンセサイザポートを追加し、それぞれを新しい DLS サウンドバンクファイルに割り当てることができます。一般に、DLS シンセサイザを取り扱う場合には、メッセージボックスのテクニックを使う必要があります。これは、メッセージボックスの中に、セミコロンの後にメッセージのテキストを続けたものをタイプし、そのメッセージボックスをクリックして、名前をつけられたオブジェクトにメッセージを送信するというものです。

次のものは、DLS シンセサイザにアクセスするために使用できるメッセージのリストです。

DLS ポートの作成

;#SM createoutport <portname> <drivername>

drivername は、Windows では midi_dm、Macintosh では augraph になります。portname はポートに割り当てる名前です。次はその例です。

;#SM createoutport myOtherSynth midi_dm ;#SM createoutport myOtherSynth augraph

DLS ポートの削除

;#SM deleteoutport <portname> <drivername>

drivename は、Windows では midi_dm、Macintosh では augraph になります。portname はポートに割り当てられている名前です。次はその例です。

;#SM deleteoutport myOtherSynth midi_dm ;#SM createoutport myOtherSynth augraph

DLS バンクのロード(タイプ 1 または 2)

;#SM driver loadbank <filename> <portname>

filename は既存の DLS バンクファイル、portname はこのバンクを使用するポート名です。ポート名を省略すると、すべての DLS ポートがこのバンクを利用します。Mac OS X では、DLS ファイルを検索する場合、/Library/Audio/Sounds/Banks というフォルダがサーチパスに追加されます。

DLS のデフォルトのGM バンクのロード

;#SM driver loadbank 0 <portname>

リバーブのオンとオフの切り替え

;#SM driver reverb 1/0 <portname>

augraphmidi_dm のどちらの場合も、デフォルトではリバーブはオフになっています。

MIDI 出力のレイテンシ(遅延)の設定 (midi_dm のみ)

;#SM driver latency <time> <portname>

time はミリ秒での値、potname は値をセットするポートです。例えば、次のメッセージでは、レイテンシを 10 ミリ秒に設定します。

;#SM driver latency 10 portname

ポート情報の取得

;#SM inportinfo <portname> <receive name> ;#SM outportinfo <portname> <receive name>

inportinfooutportinfo メッセージを送ると、名前を指定された receive オブジェクトに MIDI ポート情報を送信します。情報はinfolist メッセージの中の、次のアーギュメントとして表示されます。

The inportinfo and outportinfo messages send information about MIDI ports to named receive objects. The information is contained in an infolist message with the following arguments:

ポート名(シンボル)
ポートのドライバ名(シンボル)
ポート独自のID(整数)
ポートの省略 (整数)
ポートのチャンネルオフセット (整数)
ポートの使用(1 使用可 0 使用不可)
ポートが動的に作られたか (1 はい, 0 いいえ)

仮想MIDIポートの追加 (Macintosh のみ)

Max は、デフォルトで入力と出力に2つの仮想 MIDI ポートを作成します。MIDI システムに仮想ポートを追加したい場合、前述のものと同じ メッセージボックステクニックを使って、 createoutportcreateinport メッセージを送信します。

;#SM createoutport <portname> <drivername> ;#SM createinport <portname> <drivername>

portname はポートに割り当てる名前、deivername は 使用しているドライバ(現在 CoreMIDI がサポートされています)になります。次はメッセージの例です。

;#SM createoutport myvirtualport CoreMIDI ;#SM createinport myvirtualport CoreMIDI

このメッセージでは、仮想MIDI入力と仮想MIDI 出力のポートを、"myvirtualport" という名前で作成します。これらの仮想ポートは Max/MSP の設定として保存されません。そのため、Max を再起動するごとに作成しなければなりません。


パッチ内からMax の動作をコントロールします

参照

pcontrol パッチャー内のサブウィンドウをオープン、クローズします。
thispatcher

パッチャーへのメッセージを送信します