_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を使って再生します。 |
なし | その種類の曲は再生されません。 |
プレイヤーごとの設定を行います。[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 | 詳細なデバッグ用の情報です。大量のログが書き出されるので注意してください。 |
発生したエラーをログファイルに記録できます。
ログファイルはこんな形式です。
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が検知できない方法で効果音を出しているゲームでは、ここでの設定は効果がありません。
効果音を鳴らすために、曲を一時中断します。
WinampとSCMPXでは、効果音が鳴り終わった後に曲の初めに戻ってしまいます。一時停止コマンドではWAVEデバイスが解放されないため、停止コマンドを使っているからです。
_inmm.dll内で効果音の出力を横取りして、DirectSound出力から鳴らすようにします。(WinampのDirectSound output plug-inなどで)BGMをDirectSoundから再生している場合は、これをチェックすることでBGMと効果音を同時に鳴らせます。
この機能はまだテスト段階です。ほとんどのゲームでは、従来通りwave-outから効果音が出てしまいます。(^^;
実行ファイルにパッチを当てるときに使用します。
左側の[グループ]欄には、ゲームのメーカー一覧が表示されます。グループ名を選択すると、そのグループに属するタイトルの一覧が右側の[タイトル]欄に表示されます。タイトルを選択して[実行]を押すとパッチをあてることができます。
特別なグループとして、「すべてのタイトルを表示」がグループリストの先頭にあります。これを選択すると、全グループのタイトルが[タイトル]欄に表示されます。
下のほうにあるテキストボックスに言葉を入れて[検索]を押すと、グループ名とタイトルから検索できます。
パッチをあてたいゲームが一覧にないときは、パッチをあてたいファイルをこのページにドラッグ&ドロップしてください。
_inmm.ini作成のための単純なテキストエディタです。
いちばん簡単な使い方は、曲ファイルをこのページにドラッグ&ドロップすることです。それでファイル名がテキストボックスに追加されます。プレイリストをドラッグ&ドロップするとプレイリストの内容を追加できます。
[追加]ボタンで、ファイル選択のダイアログボックスが開きます。選択したファイルの名前がテキストボックスに追加されます。
[ソート]ボタンを押すと、テキストボックス内のファイル名をソートします。このソート機能はちょっと賢くて、普通のソートアルゴリズムではTrack10.mp3がTrack2.mp3より上にきてしまうところを、ちゃんと番号順に並べてくれます。(8)
CDを曲順通りに再生したい場合、_inmm.iniには*2, *3, *4, ... *(最終トラック)
と書いていく必要があるのですが、こんな単純作業はコンピュータにやらせたいですね。[Track番号]を押すと出てくるダイアログボックスに、開始番号と終了番号を入力して[OK]を押すと連番を挿入できます。現在CD-ROMドライブに入っているCDからオーディオトラックの番号を取得することもできます。
[開く]は既存の_inmm.iniを読み込みます。あまり使いません。(^^;
[保存]でテキストボックスの内容をファイルに書き込みます(9)。