Version 7 (modified by tekisuke, 4 years ago)

--

マクロ機能

簡単にいうと、自由に略称をつけるための機能です。
モーツァルトのフルネームはヴォルフガング・アマデウス・モーツァルトですけれども、長いからモーちゃんでいいよねとか そんな感じ。
一回あだ名を付けてしまえば、後はあだ名を書くだけで意味が通じるので楽が出来ます。

使い方。
まずは「$名前=内容;」という書き方でマクロを定義します。
$」で始めて「=」で間をつなぎ、「;」(セミコロン)で締めます。
すると、それ以降に記述された「$名前」は全て「内容」に置き換えられます。
※「$」はMMLの先頭、またはセミコロンの直後に書いてください。

$C=ceg;
$C $C $C;

と書いた場合は

ceg ceg ceg

と同じことになります。

マクロの中でマクロを使うこともできます。
ただし、必ず使われるものが使うものよりも先にくるようにしてください。

 $Am   =/:4 a<ce>;a :/;
 $EonG#=/:4 g#b<e>b :/;
 $SOLO =$Am $EonG#;
 t150 l16 o5 $SOLO

名前は自由につけられるのかな?と思われたかもしれませんが、もちろん制限があります。

  • 1文字目はアルファベットまたは「_」(アンダースコア)。
  • 2文字目以降はアルファベットまたは「_」(アンダースコア)、数字、「+」、「#」、「(」、「)」。 これだけあれば[ウクレレ記法]でサポートしているコードくらいはカバーできるかなという計算です。

最後に。FlMMLのマクロは単純な文字列の置き換えなので、ちょっと変わった使い方もできます。

$C=cd;
$C2$C4$C8;

ドレーードレドレッという具合にレの音の長さが変わったのが分かりましたか?
このテクニックはドラムパートを作るときに役に立つと思います。


さらに上級者向け!
archeさんのご協力により、引数つきマクロが使えるようになりました。
詳しくは以下の記事をご覧ください。
http://sketch.txt-nifty.com/blog/2009/04/flmml---8c2f.html

FlMMLのページに戻る