ソースを表示
MCMX1.exe
のソース
移動:
案内
,
検索
'''{{PAGENAME}}'''は、[[PMDMX1.exe]]/[[PMDMX0.exe]]向けデータ作成を行うためのコマンドラインMMLプリコンパイラ/シェル。 ==機能概要== マルチモジュールPMDであるPMDMX1.exeが2個のPMD演奏ファイルをロードできるため、2個のPMD演奏ファイルを1個のMMLファイルから作成するためのツール。 *コンパイルには''MC.exe''が必要。 *MML記述方式は基本的にPMD4.8系に準じる。MML定義によっては一部拡張された記述が可能。 *PMDモジュール毎に個別のPCMファイルを読み込むことが可能。 *プリコンパイルしたMMLファイルはMC.exeに引き渡され、コンパイルまで実施する。 ==書式== MCMX1.exe [filename] [options] ;filename :プリコンパイルするファイル名を指定する。 ;options :''MC.exe''へ引き渡すオプションを記述する。MCMX1.exeはこれらoptionsを使用せず、すべてMC.exeへ引き渡す。 ===options=== ;-L :MC.exeのログをMCMX1.logにリダイレクトする。 ;-W :指定されたファイルを監視し、ファイルに対する変更が行われるたびに再度コンパイルする。Ctrl-Cで停止する。 V1.31より、コマンドライン引数が一つもない場合は、対話モードで起動する。対話モードで何も入力せずにEnterを押下した場合は、何もせずに終了する。 ==生成ファイル== MCMX1.exe inputfile.mml MMLを上記書式でプリコンパイルした場合、以下の様に2個のファイルが出力される。 inputfile_MX1.mml inputfile_MX2.mml さらに、これらファイルは直接MC.exeに引き渡され、以下の様に2個のファイルが<small>コンパイルエラーが発生しなければ</small>出力される。 inputfile_MX1.mz inputfile_MX2.mz MCMX1.exeに渡したファイル内に、'''#2ndMML'''で設定したMMLファイルがある場合は、以下のようにファイルが出力されるようになる。 inputfile_MX1.mml inputfile_MX2.mml inputfile_MX3.mml ←#2ndMMLによる追加ファイル inputfile_MX4.mml ←#2ndMMLによる追加ファイル inputfile_MX1.mz inputfile_MX2.mz inputfile_MX3.mz ←#2ndMMLによる追加ファイル inputfile_MX4.mz ←#2ndMMLによる追加ファイル ==MML書式== 特に断り書きがない限り、MC.exeの定めるMMLフォーマットで書くことができる。 *ch定義文字は、大文字がモジュール1で、小文字がモジュール2に割り当てられる。モジュール2で使用する小文字は、PMDが定めるch定義文字をそのまま小文字にしたものが割り当てられる。 *PPZ/FM3ch拡張パートで使用可能なch定義文字は、後述の通りそれぞれ STUVWXYZ / LMN のみが使用可能。モジュール2では stuvwxyz / lmn を使用する。 ===MCMX.exe独自の定義行=== ;#MXFile :MC.exeに渡すMMLのほか、独自形式の'''MX0'''ファイルも生成する。 ;#QuickStart :MX0ファイル経由で、PMDMX0.exeに即時演奏するよう指示する。パラメータはない。 ;#WaveFile :MX0ファイルを使用する場合に有効。 :PMDMX0.exeが生成するWAVファイルの名前を設定する。 ;#RhythmDir ;#RhythmDir1 ;#RhythmDir2 :MX0ファイルを使用する場合に有効。 :PMDMX0.exeが使用する、RHYTHM音源用PCMファイルを格納したディレクトリ名を設定する。数字を付けた場合、その番号のモジュールのみに適用される。 ;#JumpStart :MX0ファイルを使用する場合に有効。 :演奏データの先頭から、演奏開始までスキップする時間を'''秒単位'''で設定する。 ;#RecordLen :MX0ファイルを使用する場合に有効。 :演奏する時間を'''秒単位'''で設定する。 ;#MXMML1 :MML定義をMX1型に拡張する。後述。 ;#2ndMML :V1.31より有効で、3番目と4番目のモジュールに読み込ませるMZファイルを作成するMMLファイル名を指定する。ここで指定されたファイル自体が'''#2ndMML'''で呼び出されたファイルである場合、これを無視する。全体的なMML記述形式自体はどちらも同じで、#2ndMMLにより読み込まれたファイルの大文字パートは第3モジュール、小文字パートは第4モジュールに割り当てられる。 ===MML拡張=== MML定義として '''#MXMML1''' を定義した場合、以下の通りMMLが拡張解釈される。 ;行連結 :先頭がtab文字で開始される行のうち、以下の条件のいずれかに該当するものは、前行の続き(以降、'''MML従属行'''と呼称)とみなされる。 :#前行が、ch定義文字で始まる'''MML定義行'''である場合。 :#前行が、MML定義行に続いているMML従属行である場合。 以下にその例を示す。2行目の先頭はタブ文字が入力されているものとする。 ABC t120l4cegc l8cdefgabc 上記例のMMLをプリコンパイルした場合、出力されるMMLには以下の通り出力される。 ABC t120l4cegc ABC l8cdefgabc なお、MML従属行は先頭にタブ文字があればMML定義行のch定義を引き継ぎ続ける。 ===PCM定義=== PCM定義は、モジュール毎に設定することができる。 /* inputfile.mml */ #PCMFile pcmgt01.pvi #PCMFile2 909.pvi 上記のように定義されたMMLをプリコンパイルすると、出力されるMMLには以下の通り出力される。#PCMFile は後着優先なので、この場合の inputfile_MX2.mml において使用されるPCMファイルは 909.pvi となる。 /* inputfile_MX1.mml */ #PCMFile pcmgt01.pvi /* inputfile_MX2.mml */ #PCMFile pcmgt01.pvi #PCMFile 909.pvi モジュール毎に指定できるPCM定義対象は以下リストの通り。 #PVIFile #PCMFile #P86File #PPCFile #PPZFile #PPSFile ===無為行の処置=== プリコンパイル前後のMMLファイルにおける行番号については以下の通り。 :MC.exeがコンパイルエラーを発した際に行番号が出力される。この番号をプリコンパイル前のMMLファイルと対応付けるため、後述する末尾への #MEMO 定義挿入処理以外に付いては、行の挿入・削除を行わない。特定モジュールのみに有為な行が存在した場合、その行の処理を何も行わない側のMMLには、空行が出力される。 :また、行頭が'''#'''または'''英字'''で開始されておらずMML従属行でもない場合、その行は加工することなくそのまま出力される。コメント行・改行のみの行・FM音色定義行等がこれに該当する。 ==制限事項== *'''#PPZExtend''' で指定できる文字は STUVWXYZ のみ。これ以外の如何なる文字を指定しても、プリコンパイル時に上書きされる。 *'''#FM3Extend''' で指定できる文字は LMN のみ。これ以外の如何なる文字を指定しても、プリコンパイル時に上書きされる。 *プリコンパイル終了時に、MMLの末尾に以下の通り #MEMO 定義が挿入される。xxxx は MCMX1.exe のバージョンが、n にはモジュール番号が出力される。 #MEMO Pre-Compiled by MXMC1.exe Ver.xxxx, to Module n. ==注意事項== *MCMX1.exe内にてVisualC++6のシステムコール'''system'''を使用しているため、監視しているアンチウィルスソフトによっては警告メッセージが発せられる可能性がある。 ==履歴== ''[[MCMX1.exe/history|history]]''を参照。 ==Download== *[http://judstyle.jp/jswiki/images/6/69/MCMX110.zip Version1.10] *[http://judstyle.jp/jswiki/images/f/fc/MCMX1.zip Version1.21] *[http://judstyle.jp/jswiki/images/6/69/MCMX1122.zip Version1.22] *[http://judstyle.jp/jswiki/images/2/20/MCMX1-125.zip Version1.25] *[http://judstyle.jp/jswiki/images/0/07/MCMX1-126.zip Version1.26] *[http://judstyle.jp/jswiki/images/a/a2/MCMX1-131.zip Version1.31] __NOTOC__ [[Category:PMDMX]]
MCMX1.exe
に戻る。
個人用ツール
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
操作
検索
案内
TOP
Portal
RecentChanges
JUDSTYLE.jp
ツールボックス
リンク元
関連ページの更新状況
特別ページ