ソースを表示
MCMX1.exe
のソース
移動:
案内
,
検索
'''{{PAGENAME}}'''は、[[PMDMX1.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へ引き渡す。 ==生成ファイル== MCMX1.exe inputfile.mml MMLを上記書式でプリコンパイルした場合、以下の様に2個のファイルが出力される。 inputfile_MX1.mml inputfile_MX2.mml さらに、これらファイルは直接MC.exeに引き渡され、以下の様に2個のファイルが<small>コンパイルエラーが発生しなければ</small>出力される。 inputfile_MX1.mz inputfile_MX2.mz ==MML書式== 特に断り書きがない限り、MC.exeの定めるMMLフォーマットで書くことができる。 *ch定義文字は、大文字がモジュール1で、小文字がモジュール2に割り当てられる。モジュール2で使用する小文字は、PMDが定めるch定義文字をそのまま小文字にしたものが割り当てられる。 *PPZ/FM3ch拡張パートで使用可能なch定義文字は、後述の通りそれぞれ STUVWXYZ / LMN のみが使用可能。モジュール2では stuvwxyz / lmn を使用する。 ===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'''を使用しているため、監視しているアンチウィルスソフトによっては警告メッセージが発せられる可能性がある。 __NOTOC__ [[Category:PMDMX1]]
MCMX1.exe
に戻る。
個人用ツール
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
操作
検索
案内
TOP
Portal
RecentChanges
JUDSTYLE.jp
ツールボックス
リンク元
関連ページの更新状況
特別ページ