MMLコンパイラー「MML2MID」「SPICE」を快適に使うためのバッチファイルです。
正直、わかりづらい解説ですみません。後ほど文章を練り直していく予定です。
@echo off set TARGET=yami01 set MMLPP=d:\apl\mml2mid\mmlpp\mmlpp.pl set MMLCMD=d:\apl\mml2mid\bin_w32\mml2mid set TMPFILE=.\mmlpp.tmp perl %MMLPP% %TARGET%.mpp >%TMPFILE% %MMLCMD% -f %TMPFILE% %TARGET%.mid del %TMPFILE% pause start %TARGET%.mid
.mppファイルをプリプロセッサーmmlppに通し、その結果をMML2MIDでコンパイルした後、出来上がった.midファイルを演奏します。 .midファイルの演奏には、ファイルタイプに関連づけされているプログラムが使われます。 私の環境では TMIDI Player が起動します。
上記の例はソースファイル名= yami01.mpp
の場合です。
set TARGET=yami01
の行にコンパイルするファイル名の拡張子を除いた部分を指定して下さい。
また、MML2MID のインストールされているパス名の部分も各自の環境に合わせて変更して下さい。
@echo off set SMC_INCLUDE=D:\apl\spice\SMI chdir %1 D:\apl\spice\smc -pc %2.smc start %2.mid
こちらのバッチファイルは、引数として 1番目にコンパイルする .smc ファイルのあるディレクトリ名、 2番目にコンパイルするファイル名の拡張子を除いた部分を指定します。
また、SPICEのインストールされているパス名の部分も各自の環境に合わせて変更して下さい。
このバッチを、WZ Editor から以下のマクロで呼び出します。
main { txstr curdir; txstr prefix; strcpy(curdir, text->szfilename); int i, j; for(i= 0, j= 0; i<strlen(curdir); i++) { if(curdir[i]=='\\') j= i; } strcpy(prefix, &curdir[j+1]); curdir[j]= '\0'; for(i= 0, j= 0; i<strlen(prefix); i++) { if(prefix[i]=='.') j= i; } prefix[j]= '\0'; // printf("%s\n", curdir); // printf("%s\n", prefix); txstr cmdline; cmdline= "D:\\apl\\spice\\smcbat.bat "; cmdline+= curdir+" "; cmdline+= prefix; exec(cmdline); }
上記の例は、バッチファイルが D:\apl\spice に置かれていることが前提です。
WZ Ver.3.0 でしか試していないので、ほかのバージョンで使えるかどうかは不明です。