MML2MID / SPICE 用バッチファイル

Last Update: 2003年9月6日(土) 18:38

MMLコンパイラー「MML2MID」「SPICE」を快適に使うためのバッチファイルです。

正直、わかりづらい解説ですみません。後ほど文章を練り直していく予定です。

MML2MID用コンパイル&演奏バッチファイル

@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 のインストールされているパス名の部分も各自の環境に合わせて変更して下さい。

SPICE用コンパイル&演奏バッチファイル(WZからの呼び出し用)

@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 から以下のマクロで呼び出します。

バッチファイル呼び出し用 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 でしか試していないので、ほかのバージョンで使えるかどうかは不明です。


Written by メモル(吉村 隆則)
e-mail: memoru@kisoba.info