東方蓄音機

東方蓄音機は同人ゲームの東方シリーズのBGMデータを単体で再生するツールです。
動作させるには東方シリーズのBGMデータとDirectX8.1以上がインストールされて
いる環境が必要です。
WinampのDSP Plug-In を利用することが可能です。

動作確認環境：
	・WindowsXP Professional SP2
	・DirectX 9.0c

ファイル構成：
	thplay.exe　：メインプログラム
	thplay.ini　：設定ファイル
	PlayList.txt：編集したプレイリスト設定ファイル
	Readme.txt　：このファイル
	List　：曲名ファイルを入れるフォルダ
		※紅魔郷、妖々夢、萃夢想、永夜抄、花映塚、文花帖、風神録
		　の製品版用の曲名ファイルを同梱しています。
	plugins　：WinampのDSP Plug-In を入れるフォルダ
	skin　：スキンデータを入れるフォルダ（サンプルデータが入っています）
	スキン作成方法.html　：スキンの作成方法を説明しています。
	html　：スキン作成方法.htmlで使用している画像ファイルなどが入っています。

アンインストール：
	レジストリなどは使用していないので、関連ファイルを削除するだけです。

サポート関係：
	基本的に無保証です。独自の判断で利用してください。
	不具合報告や改善要望などあれば、できるだけ対応は行います。
	「yossyi21@yahoo.co.jp」までメールお願いします。
	メールを送る場合は件名の先頭に■必ず■
	[mata-ri]
	と入れて下さい。
	入れていない場合はバルクメールに埋もれる可能性がかなり高いです。
	再配布などは基本的に不可です。（東方系UPローダーぐらいならOK）

使用方法：
	まず初めに曲データファイルの設定が必要です。
	「設定」のリストファイルから、設定するリストを選択し、対応データファイル
	へのフルパスを入力します。
	「参照」ボタンから設定することもできます。
	各ゲームの対応データファイルは以下の物になります。

	東方紅魔郷：インストールフォルダ内の「bgm」フォルダを選択
	東方妖々夢：インストールフォルダ内の「thbgm.dat」ファイル
	東方萃夢想：インストールフォルダ内の「th075bgm.dat」ファイル
	東方永夜抄：インストールフォルダ内の「thbgm.dat」ファイル
	東方花映塚：インストールフォルダ内の「thbgm.dat」ファイル
	東方文花帖：インストールフォルダ内の「thbgm.dat」ファイル
	東方風神録：インストールフォルダ内の「thbgm.dat」ファイル

	・リスト設定の例
	東方花映塚のインストールパスが「C:\Program Files\東方花映塚」だった場合
	１．リストファイルより「titles_th09.txt（〜」を選択する。
	２．参照ボタンを押して「C:\Program Files\東方花映塚」内の「thbgm.dat」
	　　を選択して「開く」を押す
	３．「OK」を押す

	東方紅魔郷の場合
	インストールパスが「C:\Program Files\東方紅魔郷」だった場合
	１．リストファイルより「titles_th06.txt（〜」を選択する。
	２．参照ボタンを押して「C:\Program Files\東方紅魔郷\bgm」
	　　を選択して「OK」を押す

機能説明：
	設定：東方蓄音機を使うための基本的な設定をする。
	詳細表示：プレイリストの表示をする。
	シャッフル再生：プレイリスト内の曲をランダムに再生する。
	ループ回数：１曲あたり何回ループさせるかを設定する。
	無限ループ：ループ回数を無視して１曲を永遠と再生する。
	ミュート：ミュート状態にします。
	プレイリストの編集：リスト設定にて登録された曲からプレイリストを作
	成できます。
	DSP Plug-In 設定：WinampのDSP Plug-Inの設定を行います。

スキン機能：
	背景やボタンの見た目を変える事ができます。
	「設定」でしようするスキンデータのフォルダを設定してください。
	スキンは自分で作成することができます。
	詳しくは「スキン作成方法.html」を参照してください。
	「東方蓄音機　スキンデータ作成支援ツール」もあります。

プレイリストの編集方法：
	１．プレイリストの編集ボタンを押します。
	２．開いたダイアログの上にある「編集したプレイ〜」にチェックを入れます。
	　　（チェックを外すとデフォルトのプレイリストに戻ります）
	３．左の「曲名一覧」からプレイリストに追加する曲を選択し、「挿入」
	　　ボタンを押します。これを繰り返してプレイリストを作成します。
	４．作成し終わったら「OK」ボタンを押す。

	各ボタン説明：
	全挿入：曲名一覧にある曲全てを再生リストに挿入します。
	挿入：曲名一覧で選択した曲を再生リストに挿入します。（またはダブルクリック）
	上に移動：再生リストで選択した曲の順番を１つ上に移動します。
	下に移動：再生リストで選択した曲の順番を１つ下に移動します。
	削除：再生リストで選択した曲を再生リストから削除します。（またはダブルクリック）
	全削除：再生リストの曲を全て削除します。

	※リスト設定で「プレイリストに追加しない」にチェックが入っている
	　リストファイルの曲は曲名一覧に表示されません。

DSP Plug-In 設定方法：
	１．利用したいWinampのDSP Plug-In をthplay.exeのあるpluginsフォルダ
	　　に入れます。（※一部利用できない物もあります）
	２．DSP Plug-In 設定ボタンを押します。
	３．Plug-In一覧から利用したPlug-Inを選択します。
	４．１つのPlug-Inに複数のモジュールがある場合はモジュールを選択します。
	５．設定が必要な場合や、Plug-Inの設定画面が表示されない場合は設定ボタン
	　　を押します。

		※Enhancer v0.17、Jammix Enhancer 031 は動作することを確認しています
		Plug-Inは１種類のみ利用できます。

曲名ファイルについて：
	曲名ファイルには東方シリーズのBGMデータを再生するのに必要な情報が書かれています。
	東方蓄音機で使用している曲名ファイルは「東方永夜抄音楽抜き出し機（ThbgmExtractor）」
	の曲目ファイルと同じ形式を使用しているので、ThbgmExtractor用の物も使用で
	きます。
	曲名ファイルを追加する場合は「List」フォルダにファイルを入れて下さい。
	「設定」のリストファイルに追加されるので対応データファイルの設定を行って
	ください。
	逆に東方蓄音機用の曲名ファイルをThbgmExtractorで使用することもできます。
	（※東方蓄音機用の紅魔郷の曲名ファイルは独自仕様なので使用できません）

新しいシリーズが出たときの対応：
	東方蓄音機では新しい東方シリーズが出た場合、曲名ファイルを追加するこで対
	応できるようになっています。
	ThbgmExtractorと同じ形式を使用しているので、どちらかのサイトやUPローダーで
	公開されれば共に対応できます。
	WAVE出力にはThbgmExtractorを使用してください。

体験版の対応：
	東方蓄音機本体に体験版用の曲名ファイルは同梱していません。
	「東方永夜抄音楽抜き出し機（ThbgmExtractor）」用のファイルがありますので、
	「smdn/プログラミングとか趣味のいろいろ
	（http://smdn.invisiblefulmoon.net/index.php?FrontPage）」さんの所からダ
	ウンロードしてください。
	ダウンロードして解凍したファイルは「List」フォルダにファイルを入れて下さい。
	「設定」のリストファイルに追加されるので対応データファイルの設定を行って
	ください。

注意事項：
	・Vistaは仮対応です。製品版での動作確認は行っていません。


作成後記：
今回の作成動機は東方文花帖のthbgm.datをそのまま再生できるツールが見つからなかっ
たため。ないなら作ってやれということで作成。
初のDirectSoundに挑戦。
結構楽にいけたかと思ったらNotifyイベントにあんなバグがあるとは＿|￣|○
音飛びにしばらく悩んだ。
今回曲名ファイルの読み込みを外部ファイルにして、ThbgmExtractorが使用してる
フォーマットに合わしてみました。m(_ _)m
そんなわけで新しい東方シリーズが出てもこのまま利用できるはずです。
しかし文花帖は難しい・・・レベル６までは一応全部クリアできたけど７以降は無理だ(;´Д｀)
ちなみに腕前は紅魔郷をノーマル霊夢Bで１回だけノーコンクリアできた程度です。
その２：
そしてなんだかんだとレベル８まで全部クリアヽ(´ー｀)/
これ以上はきっと無理だな・・・
結局紅魔郷は独自フォーマットの曲名ファイルを作成。
「th2_1093.zip」に入ってるファイルを参考にさせて頂きましたm(_ _)m
とりあえず音楽プレイヤーとしてこれぐらいの機能があれば十分なのかな？
その３：
レベル１０まで制覇ヽ(´ー｀)/
正直やり始めたときはここまで行けるとは思ってなかった。
まわりでやる人いるとこういうのはがんばれるな。
グラフィックイコライザをつけてみたが、DirectSoundはいろいろと癖があるな。
バッファを多めに確保しておかないとエフェクト機能ONにするだけでノイズ入るし、
無音を０で行うと、無音部分の再生でおかしくなるし、
Play前にエフェクトの設定するとPlay後おかしくなる場合あるし(;´Д`)
いろいろと苦労してイコライザ機能を実装したのでした。
まだ動きの怪しい部分が出てきそうな予感・・・
その４：
DirectSoundのイコライザ機能は怪しいので削除
その代わりにWinampのDSPを使えるように変更
こっちの方がすでにいろいろな種類のがあるから使えるんじゃないかな？
ついでにVistaに仮対応
そのままでも動くけどボリューム制御関係がXPとは変わってるのでそれに対応
こんな重たいOS使う気しないけど・・・
その５：
東方風神録製品版登場に向けてのちょっとしたバグ修正
Vistaの製品版はしばらく買うつもりはないのでVista上での不具合とかあったら
報告してもらえるとうれしいかも
早くWebで体験版公開されないかな・・・
曲のループ点を楽に見つける方法わかったので風神録が出てもゲームデータあれ
ば２時間半ほどでデータ解析できまつよ。
（内分はゲームプレイ１時間、解析１時間、確認３０分）
まあ、コミケに買いに行くことはないので他の人がやるだろうけど。
その６：
風神録用のとあるパッチを作成したりしてみた。使ってる人いるかな？
今回はGUIの勉強ということでスキン機能を追加。
サンプル作ってみたけど絵心ないので全然だめですな。
初CG挑戦だし。
誰かまともな同梱してもOKてスキン作ってくれないかな・・・

2011/04/19 Ver.1.6.4
・東方神霊廟体験版の22050Hz再生対応
（体験版の曲名ファイルは同梱していません、別途入れてください）
・東方星蓮船、ダブルスポイラー、妖精大戦争の曲名ファイルを同梱

2008/08/16 Ver.1.6.3
・東方地霊殿の曲名ファイルを同梱

2007/11/22 Ver.1.6.2
・スキン機能を拡張、フォントの設定やテキスト表示枠を消すことも可能に変更
・リストファイルの設定で紅魔郷を設定する場合、「Program files」以外の部分にインストールされていると
　参照ボタンから設定できなかったのを修正。
・曲再生中に設定を行い、NextかBackを行うと落ちる場合があったのを修正
・スキン作成方法.htmlを一部修正
・細かなバグ関係修正

2007/9/30 Ver.1.6.1
・スキン機能でプレイリストの背景を透過できるように変更
・スキン機能で詳細表示ボタンが存在しない場合、ウインドウサイズの変更がデフォルトになってしまうのを修正
・スキン作成方法.htmlを一部修正

2007/9/26 Ver.1.6
・スキン機能を追加
・スキン機能追加に伴う内部の各所を変更
・曲名をいくつか同梱
・その他細かい機能の改善

2007/5/22 Ver.1.5.1
・シーク時の制御方法を少し変更（シーク前の音が残りにくくなったはず）
・最小化時にタスクトレイに入れるの設定が反映されていなかったのを修正

2006/10/24 Ver.1.5
・Vistaに仮対応
・見た目や内部処理を大幅に変更
・グラフィックイコライザ機能を削除
・WinampのDSP Plug-Inを使用できる機能を追加
・その他細かい機能を追加

2006/2/16 Ver.1.3
・グラフィックイコライザ機能を追加
・細かなバグ関係修正

2006/2/3 Ver.1.2
・シャッフル再生追加
・プレイリストの編集を追加
・紅魔郷用に独自の曲名ファイルを追加
・細かなバグ関係修正

2006/1/25 Ver.1.1
・シークバーを追加
・Back、Nextボタン追加
・再生時間の表示追加
・タイトル表示追加
・XPスタイル導入（OSがXPの人はちょっと見え方変わります）
・MSN Messengerに曲名表示するとき先頭にスペースが入っていたのを修正
・サウンドバッファの制御方法を変更

2006/1/19 Ver.1.0
・公開

りょうちん
http://www.selena-net.com/~piabrpg/mata-ri/

