無名マクロ
{ }
無名マクロは、{ } でくくられた記述を繰り返します。次に { } の中身が変わるまで有効です。
内容記述を省略
指定した { } は、以降 { } 内の記述を省略できます。
{ d4rmf } { } { } { }
; 実際の演奏 d4mf d4rmf d4rmf d4rmf
マクロの繰り返し
同じパターンが続く場合は { } の後ろに繰り返し回数を添えられます。下は、上と同じ演奏になります。
{ d4rmf }4
離れた場所にあっても直前に設定した { } の内容は繰り返されます。次に { } の中身が変わるまで有効です。
{ d4rmf } s4lc_ { } c4ls_
; 実際の演奏 d4rmf slc_ drmf cls_
ユニゾン演奏・オクターブ演奏などに使用できます^^
#A0 o4 { d4rmf slc
#B0 o5 { }
;#A0と#B0は違うオクターブで同じ演奏になる
マクロの入れ子
{ } の中に { } を入れることもできます。
{ { d4r }2 }
{ }
{ { m4f }2 }
{ }
; もしくは { { d4r }2 }2 { { m4f }2 }2
; 実際の演奏 d4rdr d4rdr m4fmf m4fmf
定義マクロ
$マクロ名 { }
「無名マクロ」は、あくまで直前の { } の内容しか繰り返すことができません。しかし、一度使い終わった { } をまた違うところでも使いたいという場合もでてくるでしょう。
「定義マクロ」は { } 内に書かれた演奏を部品として作り置きしておけるモノです。
一度作成した定義マクロは、いつでも何度でも呼び出して使うことができます。
マクロの定義
$PTN1 { d4rmf } ; マクロに名前をつける
ここではマクロに「PTN1」と名づけていますが、マクロ名は任意です。憶えやすいお好きな名前をつけてください^^
補足
定義マクロ自体も演奏の一部となります。繰り返し回数を指定しない場合は 「繰り返し回数 1回」 とみなされます。
定義マクロ自体を演奏させたくない場合は、繰り返し回数を 0 にします。
$PTN1{ d4rmf } 0 ; マクロを定義する(繰り返し回数 0。この部分は演奏されない)
展開マクロ
${ マクロ名 }
定義マクロを、任意の位置に展開(呼び出し)します。名前をつけた定義マクロを使う
${ PTN1 } ; マクロを展開する
使用例
$PTN1{ d4rmf } 0 ; マクロを定義する(この部分は演奏されない)
${ PTN1 } { d4r }2 ${ PTN1 } s4lc< d > ; 展開する
; 実際の演奏 d4rmf d4rdr d4rmf s4lc < d >
大文字・小文字は違うマクロ名として区別されます。
スペース・タブ・改行・全角文字・半角カタカナ・
半角縦棒 | 、セミコロン;・感嘆符 ! はマクロ名には使えません。
コメント