後続のコマンドが処理対象となるトラックを選択する。
DUMでは最大256本のトラックを並列に動作させることができる。
一般的には、楽器毎に別々のトラックを割り当て、個別に動作させるといった具合。
MIDIの仕様による制限はあれど、同じMIDIチャネルに複数のトラックを割り当てることも可能。
パラメータを1つだけ指定した場合は、その1つだけが処理対象となり他のトラックでは無視される。複数指定した場合はそれぞれのトラックについて同じ処理を行う。
(V0.21 rel.1以降)
トラック番号は - の前後に両端の番号を記述することにより、範囲指定が可能。
(V0.41以降)
トラック番号を一つも指定しない場合は、どのトラックにも反映されない。
ただし、文法の解釈だけはされるので任意の文字列が記述できるわけでもない。
次の # コマンドまでコメントアウトされるぐらいの認識で。
(注)
T % コマンドは全体に対して影響されるものなので、書き込み対象でなくても全トラックへ自動的に反映される。逆にいえば、これらのコマンドはどこか1箇所設定しておけばよく、全トラックに書き込む必要はない。
[例]
#1 #2,5-8 #12-10
mml を n 回(nを省略した場合は2回)繰り返す。
n が0のときは無限に繰り返す。
| は残り回数が1回のときに内側のリピートを脱出する。
リピートは16重までのネスト(リピートの中で別のリピートを含ませる)が可能。
(注)
[ ] 内のMMLはウェイトを含むコマンドを最低1つは含まなければならない。
(V0.20 rel.2以降)
n=0に限り、ウェイトを含むコマンドを含まないときはループの存在が無視される。
(V0.41 rel.2以降)
n=0に限り、スキップでウェイトが無視されたときもループの存在が無視される。
トラック処理を一時的に停止させる。
他のトラックからW コマンドを受けると再開する。
H コマンドで停止したトラック処理を再開させる。
DUMの存在しないトラックを指定するとエラーとなる。
[補足]
自分自身のトラックもエラーとなる。
仕様上の都合で、実際には再開に1ステップの遅れが生ずる。
ただし、この遅れは直後のウェイトにて相殺される。
(V0.21 rel.1以降)
! が付いていない場合、単純に n の集合が再開対象となる。
! を付けた場合は n の集合が再開対象から除外され、他のトラック全てが再開対象となる。
トラック番号は - の前後に両端の番号を記述することにより、範囲指定が可能。
[例]
W0 W3,5-8 W! W!4-6