FlMML - 引数つきマクロ
すっかり更新できない状況が続いてたんですが、ソース公開してるといいことありますね。
archeさんというかたがFlMMLの機能を拡張してくださいました!
引数つきマクロの機能です。上級者向けですがこれは便利。
具体的な使い方は以下のような感じです。
つまり
引数につけられる名前の書式はマクロ名と同じです。アルファベットで始まって、アルファベットまたは数字、+、()、#のいずれかが続くという形です。
そして引数を使いたいところでは %引数名 と書きます。
引数は複数使うこともできます。たとえば
実際にマクロを使うときは $マクロ名{引数1, 引数2, ...} のように書きます。
さっきの例だと
例が悪いのでピンとこないかもしれませんが、使いかた次第で面白いことができそうです。
もとはニコニコ大百科のcryptさんのユーザ記事( http://dic.nicovideo.jp/u/316188 )で見かけた機能とのことです。
ここに書いてある他の要望機能も参考になりますね。
archeさん、cryptさんありがとう~~!!
archeさんというかたがFlMMLの機能を拡張してくださいました!
引数つきマクロの機能です。上級者向けですがこれは便利。
具体的な使い方は以下のような感じです。
$m{note} = @V100 %note16 @V64 %note16 R8;これで同じマクロでも%noteの部分を変更しながら使うことができます。
$m{C} $m{D} $m{E} $m{F} $m{G}
つまり
$マクロ名{引数1 ,引数2, ...}=マクロの内容;のように、マクロ名につづけて中カッコを書き、その中に引数の名前を書くという形です。
引数につけられる名前の書式はマクロ名と同じです。アルファベットで始まって、アルファベットまたは数字、+、()、#のいずれかが続くという形です。
そして引数を使いたいところでは %引数名 と書きます。
引数は複数使うこともできます。たとえば
$m{vol,note} = @V%vol %note;というように書きます。
実際にマクロを使うときは $マクロ名{引数1, 引数2, ...} のように書きます。
さっきの例だと
$m{vol,note} = @V%vol %note;となりますね。
$m{100, CDE}
例が悪いのでピンとこないかもしれませんが、使いかた次第で面白いことができそうです。
もとはニコニコ大百科のcryptさんのユーザ記事( http://dic.nicovideo.jp/u/316188 )で見かけた機能とのことです。
ここに書いてある他の要望機能も参考になりますね。
archeさん、cryptさんありがとう~~!!
« FlMML - 再生時間表示 | トップページ | FlMML - エクスプレッション »
「ActionScript 3.0」カテゴリの記事
- FlMML - リングモジュレーターとSync(2009.07.26)
- FlMML - ファミコンDPCM(2009.05.16)
- キー入力のレベル、トリガ、リピートを取得(2009.05.06)
- FlMML - エクスプレッション(2009.05.03)
- FlMML - 引数つきマクロ(2009.04.12)
「FlMML」カテゴリの記事
- FlMMLリポジトリの引越し(2011.02.05)
- FlMML - リングモジュレーターとSync(2009.07.26)
- MML対応Twitterクライアント(2009.07.24)
- FlMML - DPCM変換ツール(2009.05.17)
- FlMML - ファミコンDPCM(2009.05.16)
コメント
この記事へのコメントは終了しました。
こちらでも確認しました。コードをお渡しする際にインデントずれてた(L549, L617, L650)のに気づかないままでした・・・・・・。機能的には問題ないのですが今更ながら気づいてしまったので、今後の編集の際に誤解を招かないように一応ご報告。
こちらこそ、突然話を持ちかけたのにもかかわらず丁寧に対応していただき本当にありがとうございました!
投稿: arche | 2009.04.12 02:59
インデントの件は全然問題ないですよ~。コマンド一発ですしね。
ずいぶんお待たせしちゃってすみませんでした。今後ともピコカキコ&FlMMLをよろしくおねがいします~。
投稿: おー | 2009.04.12 19:47
度々すみません。またバグがあったので今更ですがご報告を・・・
マクロ再帰呼び出しの検出に不具合があったようで、一部のMMLがきちんと再生できなくなっていました。
修正用パッチ置いておくので確認・適用をお願いします。
http://www.logicmachine.jp/files/rmacro.patch
投稿: arche | 2009.04.23 01:03
そういうことでしたらコミットしちゃってもらえますか? 後で確認します。
codereposのアカウントが必要になっちゃうのかな? であれば後ほどこちらでコミットします〜。
投稿: おー | 2009.04.23 10:13
遅くなりましたがお昼頃コミットしました~~。
投稿: おー | 2009.04.25 17:41
コミットしてくださってありがとうございます。
コミット権の申請はしていたのですが、なかなか時間もかかるようでコミットできずにいました・・・
お手数おかけしてしまい本当に申し訳ありませんでした。
投稿: arche | 2009.04.25 21:02
いえいえ、今後ともよろしくお願いします~。
投稿: おー | 2009.04.26 11:07
cryptさんのユーザ記事を見て思い立ちました。
@xでエクスプレッションを追加してみようかと思います。
つか追加しちゃったのでバグがなければこのままリリースしようかと。
投稿: おー | 2009.04.30 00:47