MML加工用 テキストエディタマクロ集
- SCC波形加工 for MGSDRV
- MML整形 for MGSDRV
- MML転調 for MGSDRV
- MMLオクターブ検査 for MGSDRV
- マクロの登録方法(サクラエディタ)
- マクロの実行(サクラエディタ)
- mml_opll_patch_nuke
- 更新履歴
SCC波形加工 for MGSDRV
File
機能
MGSDRVのMML形式で記述されたSCC波形宣言データ用のを加工し、 n/256倍率をかけた波形データを出力するマクロです。
使い方
MGSDRVの波形宣言
@s0={ 001931475a6a757d7f7d756a5a47311900 e7cfb9a6968b8380838b96a6b9c7e7 }
を選択した状態でマクロを実行します。
すると入力ボックスで倍率を質問されるので入力します。
倍率は256分の1単位なので128だと半分になります。
指定
- 'ボリュームは?(max 256)'
初期値 256
波形にかける音量倍率を指定します。- 256で100%
- 512で200%
- 128で50%
MML整形 for MGSDRV
File
機能
- 選択した範囲のMMLを整形します。
- 選択していない場合はカーソル行を選択して整形します。
- 4分音符毎に空白を挿入します。
- 指定した1小節の長さで改行します。
指定
マクロを実行すると以下の入力を求められます。
-
'省略時の音長は?'
初期値 8
MMLのノートコマンド(cdefgab)で音量省略時の長さ。
整形対象の文字列中にLコマンドが無いときに有効です。 -
'ヘッダあり?(1=あり)'
初期値 1
行の先頭にチャンネルを指定する形式(MGSDRV書式)かどうかを指定します。
例) A @0v10ceged
※ 実際には行頭からスペースが1つ見つかればそれ以降を本文扱いします。
使用例
MML転調 for MGSDRV
File
機能
指定した度数だけ転調します。
指定
マクロを実行すると以下の入力を求められます。
-
'ヘッダあり?(1=あり)'
初期値 1
行の先頭にチャンネルを指定する形式(MGSDRV書式)かどうかを指定します。
例) A @0v10ceged
※ 実際には行頭からスペースが1つ見つかればそれ以降を本文扱いします。
MMLオクターブ検査 for MGSDRV
File
機能
選択範囲のオクターブ移動記号<>の数を数え、 最終的にプラスかマイナスであればその差分を表示します。
暫定で作ったため
- ループには非対応です。
- 絶対指定"o"には非対応です。
1行単位選択や、ループ内だけ選択で使用してみてください。
絶対指定→相対指定の書き換えマクロも想定して、 ループや絶対指定を認識させる処理は途中まで書きましたが、 MML整形より複雑になってきてしまいました。 そこまでする必要はない気がしますので途中でやめています。
余談ですが、ループのオクターブ変化引継ぎはドライバによって違うので面倒ですね。
- バイナリがブロックデータ形式だと繰り返しが影響しない
- MGSDRVは単に文字列を展開するだけなので繰り返しを引き継いで連続変化する
マクロの登録方法(サクラエディタ)
-
設定→共通設定
-
「マクロ」タブ
- マクロのあるフォルダパスを指定
- 「名前(N)」を入力
- 「File」を選択 (※画像では日本語ファイル名に変えてます)
- 「設定(A)」ボタンを押して登録完了
-
「キー割り当て」タブ
- 「種別(K)」で「外部マクロ」を選択
- 指定したいマクロを選んでキーを割り当てる
全ての設定が終わったら「OK」ボタンで閉じる
マクロの実行(サクラエディタ)
mml_opll_patch_nuke
OpenMSX/src/sound/YM2413NukeYKT.cc の 固定音色定義をMGSDRV形式に変換するマクロ
更新履歴
-2023.08.12
-2023.08.05 (2)
- MML整形でマクロ*コマンドがあると計算がおかしくなる問題の対応 -2023.08.05
- NNK整形で音長0が指定されたときの0除算(フリーズの可能性あり)を修正
- 2023.08.02
- MML整形でピリオドが上手く処理されなくなっていたのを修正
- 2023.07.30 (4)
- 2023.07.30 (3)
- 2023.07.30 (2)
- mml_reformat
- 最終ループ抜けコマンド"|"の時のインデントを1つ現象
- mml_reformat
- 2023.07.30
- 2023.07.29
- mml_reformat
- コメント改行バグ修正
- 無限ループの改行処理追加
- ループ階層でのインデント処理追加
- mml_reformat
- 2023.07.28 (2)
- mml_reformat
- コメント処理バグ修正
- 改行処理修正
- ループコマンド対応
- mml_reformat
- 2023.07.28 (1)
- 最初のアップロード