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