_inmmcnf.exe

_inmmcnf.exeで、_inmm.dllの動作をカスタマイズできます。_inmmcnf.exeは実行ファイルにパッチを当てるときにも使います。また_inmm.iniの簡易エディタもついています。

_inmmcnf.exeのウィンドウは、機能別に5つのページに分かれています。はじめの3つが_inmm.dllの動作を設定するものです。

[再生方法]ページ

再生に使うプレイヤーを、曲の種類(正確にはファイル名)ごとに指定します。

左側の[ファイルの種類]に、ファイル名を書きます。ワイルドカード文字*?を使えます。|で区切って、複数の名前を書くことができます。例えば、*.mid|*.rmiなら、拡張子が.midのファイルと.rmiのファイルという意味になります。

右側の[プレイヤー]で、対応するプレイヤーを指定します。「その他のファイル」では、どの[ファイルの種類]にも当てはまらないファイルの再生方法を指定します。「CD-DA」では、CDから鳴らすとき(_inmm.iniには*2などと書きます)の再生方法を設定します。

「CD-DA」の横にある[ドライブ]で、どのCD-ROMドライブからCD-DAを再生するかを指定します(7)。「デフォルト」にすると、プレイヤーの既定値を使います。

使用しない曲種のところの設定は無視して構いません(_inmm.iniに対応するファイル名がないプレイヤーは使われません)。

今のところ、選択できるプレイヤーには以下のものがあります。

プレイヤー 説明
MCI Windows標準の機能を使って再生します。
DirectShow DirectXに含まれる機能で再生します。
Winamp Winampを使って再生します。
SCMPX SCMPXを使って再生します。
Digital CD Player Digital CD Playerを使って再生します。
Lilith Lilithを使って再生します。
なし その種類の曲は再生されません。
  1. Digital CD Playerはこの方法でのドライブ指定に対応していません。Digital CD Playerの設定でCDドライブを変更してください。

[プレイヤー]ページ

プレイヤーごとの設定を行います。[Winamp]、[SCMPX]、[Digital CD Player]、[Lilith]と、プレイヤーごとに項目が分かれています。

プレイヤーの[パス]を設定しておくと、_inmm.dllが読み込まれたとき(つまりゲームを起動したとき)にプレイヤーを自動的に起動します。パスの設定が空の場合、ゲームを起動する前にあらかじめプレイヤーを立ち上げておく必要があります。

Winamp/SCMPXの[ウィンドウを隠す]をチェックすると、プレイヤーを自動起動したときにそのウィンドウを表示しないようにします。自動起動を使わない場合、この設定は効果がありません。Digital CD Playerには、代わりに[最小化して起動]オプションがあります。Lilithには[タスクトレイモードで起動]オプションがあります。

Waveデバイスが全部塞がっているときにWinampに再生コマンドを送ると、Winampはエラーのメッセージボックスを表示してしまいます。そのため、Waveデバイスが空いていないときはWinampに再生コマンドを送らないようにしています。[Wave出力の空きをチェックしない]をオンにするとこのチェックを行いません。DirectSound使用のゲームで威力を発揮するかもしれません。

Digital CD Playerにも、同じ理由で[Wave出力の空きをチェックしない]オプションがあります。

Digital CD Playerの[再生位置取得機能を使わない]オプションをオンにすると、音楽の再生開始からの経過時間が必要なとき、Digital CD Playerに問い合わせるのではなく_inmm側で処理します。デモ等で画面と音楽の同期がずれる場合にチェックしてみてください。

[エラー]ページ

_inmm.dllの処理中にエラーが発生したときの動作を指定します。

_inmm.dllのエラーは、深刻さによって5つのレベルに分けられます。

レベル 説明
FATAL 処理を続けられないような重大なエラーです。
ERROR 外部プレイヤーの起動失敗など、影響の大きいエラーです。
WARN ファイルの再生失敗など、比較的影響の小さいエラーです。
INFO エラーではありませんが、有用な情報の通知です。
DEBUG エラーではなく、デバッグ用の情報です。
TRACE 詳細なデバッグ用の情報です。大量のログが書き出されるので注意してください。
[エラー表示レベル]
ここで指定したレベル以上のエラーが発生した場合、メッセージを表示します。WARN以上のレベルのみ指定できます。NONEを指定すると、エラーメッセージを一切表示しません。
[ログ]

発生したエラーをログファイルに記録できます。

ログファイルはこんな形式です。

D 07/20 22:01:14.890 INFO  _inmm.dll 2.35
S 07/20 22:01:14.937 INFO  _inmmserv 2.35
S 07/20 22:01:16.328 ERROR c:\game\gerogero.mp3が見つかりません。

左から順にエラー通知元(D=_inmm.dll, S=_inmmserv.exe)、日付、時刻(時:分:秒.ミリ秒)、レベル、エラー内容です。

[ファイル]
ログファイル名を指定します。フォルダを指定しない場合、ゲームをインストールしたフォルダにログファイルを作成します。
[記録レベル]

ここで指定したレベル以上のエラーが発生した場合、ログファイルに記録します。NONEを指定すると、一切記録しません。

DEBUGやTRACEを指定すると、ログファイルが非常に大きくなる場合があるので注意してください。

[終了時にログ作成を通知する]
ログファイルが作成された場合、ゲームの終了時にメッセージを表示します。

[その他]ページ

_inmm.dllの動作全般に関するオプションです。

[効果音]

CD-DAの代わりにwavファイルやMP3を再生していると、WAVEデバイスが占有されてしまって、ゲームの効果音が鳴らない場合があります。この問題に対処する方針を設定します。

_inmm.dllが検知できない方法で効果音を出しているゲームでは、ここでの設定は効果がありません。

[BGMを一時的に止めて鳴らす]

効果音を鳴らすために、曲を一時中断します。

WinampとSCMPXでは、効果音が鳴り終わった後に曲の初めに戻ってしまいます。一時停止コマンドではWAVEデバイスが解放されないため、停止コマンドを使っているからです。

[標準]
特になにもしません。WAVEデバイスが同時に2つ以上使える環境では、この設定にしてください。
[鳴らさない]
ゲーム中に効果音が一切鳴らないようにします。
[DirectSoundから出力]

_inmm.dll内で効果音の出力を横取りして、DirectSound出力から鳴らすようにします。(WinampのDirectSound output plug-inなどで)BGMをDirectSoundから再生している場合は、これをチェックすることでBGMと効果音を同時に鳴らせます。

この機能はまだテスト段階です。ほとんどのゲームでは、従来通りwave-outから効果音が出てしまいます。(^^;

[_inmm.dllの全機能を無効にする]
プログラムにパッチを当てる前と同じ動作をするようになります。_inmm.dllが邪魔になったときに使います。:-)

[パッチ]ページ

実行ファイルにパッチを当てるときに使用します。

左側の[グループ]欄には、ゲームのメーカー一覧が表示されます。グループ名を選択すると、そのグループに属するタイトルの一覧が右側の[タイトル]欄に表示されます。タイトルを選択して[実行]を押すとパッチをあてることができます。

特別なグループとして、「すべてのタイトルを表示」がグループリストの先頭にあります。これを選択すると、全グループのタイトルが[タイトル]欄に表示されます。

下のほうにあるテキストボックスに言葉を入れて[検索]を押すと、グループ名とタイトルから検索できます。

パッチをあてたいゲームが一覧にないときは、パッチをあてたいファイルをこのページにドラッグ&ドロップしてください。

[_inmm.ini]ページ

_inmm.ini作成のための単純なテキストエディタです。

いちばん簡単な使い方は、曲ファイルをこのページにドラッグ&ドロップすることです。それでファイル名がテキストボックスに追加されます。プレイリストをドラッグ&ドロップするとプレイリストの内容を追加できます。

[追加]ボタンで、ファイル選択のダイアログボックスが開きます。選択したファイルの名前がテキストボックスに追加されます。

[ソート]ボタンを押すと、テキストボックス内のファイル名をソートします。このソート機能はちょっと賢くて、普通のソートアルゴリズムではTrack10.mp3がTrack2.mp3より上にきてしまうところを、ちゃんと番号順に並べてくれます。(8)

CDを曲順通りに再生したい場合、_inmm.iniには*2, *3, *4, ... *(最終トラック)と書いていく必要があるのですが、こんな単純作業はコンピュータにやらせたいですね。[Track番号]を押すと出てくるダイアログボックスに、開始番号と終了番号を入力して[OK]を押すと連番を挿入できます。現在CD-ROMドライブに入っているCDからオーディオトラックの番号を取得することもできます。

[開く]は既存の_inmm.iniを読み込みます。あまり使いません。(^^;

[保存]でテキストボックスの内容をファイルに書き込みます(9)

  1. 「自然順ソート」と呼ばれているものに近いアルゴリズムです。
  2. [パッチ]ページでパッチをあてた直後は、_inmm.iniの保存先フォルダがゲームのインストールフォルダになっているのでフォルダ選択の手間が省けます。:-)