無名マクロ

{ }

無名マクロは、{ } でくくられた記述を繰り返します。
次に { } の中身が変わるまで有効です。

内容記述を省略
指定した { } は、以降 { } 内の記述を省略できます。

{ 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 >


大文字・小文字は違うマクロ名として区別されます。

スペース・タブ・改行・全角文字・半角カタカナ・
半角縦棒 | 、セミコロン;・感嘆符 ! はマクロ名には使えません。