WINAMP5用 Shibatch mpg123プラグイン 改悪バージョン
- このパッチは
- Ver. 1.18y pl-08 からの変更点
- ダウンロード
柴田さんが作成、YunaSoftさんとmokaさんが改良したin_mpg123.dll(mpg123ベースのWINAMP5用MP3デコーダプラグイン)を改悪(^^;)するものです。
- WINAMP5に対応した。(Thanks to T-Matsuo)
- MP1、MP2に対応した。
- ID3v2、APEタグに対応した。
- タイトルにID3v2、APEタグ独自の情報を表示できるようにした。
- タイトル表示で2バイト文字のことを考慮するようにした。
- 内蔵タグエディタを廃止し(ぉぃ)、T-Matsuoさん作成のmp3infpを呼び出すようにした。
タグの編集をしたい場合は、mp3infpをインストールしておく必要があります。
- Int24、Int32、Float32、Float64で出力できるようにした。
- LAMEでエンコードされたデータを正確なサンプル数で出力できるようにした。(ギャップレスで演奏できるようにした。)
- リプレイゲインに対応した。
- ストリーミング演奏機能を改良した。
- mpg123ライブラリをpre0.59sに差し替えた。(intensity-stereoの不具合を修正済み。)
- MPEG2.5/8kHzのデータが正常にデコードできないmpg123ライブラリの不具合を修正した。(Thanks to Northern Verse)
in_!mpg123_118ot112.1.7z Ver. 1.18y ot112.1 for WINAMP Ver. 5.3 or newer (332KB) (2006/10/26)
in_!mpg123_118ot109.2.7z Ver. 1.18y ot109.2 (323KB) (2006/7/11)
Ver. 1.18y ot112.1
- リプレイゲイン情報がないときのプリアンプが、WINAMP本体とin_!mpg123の2重に適用されないようにした。
Ver. 1.18y ot111
Ver. 1.18y ot110.7
- Unicodeのファイル名・タグに対応。
WINAMP Ver. 5.3以上が必要です。
Windows Me/98/95では動作しません。
現在のmp3infp Ver. 2.53dではUnicodeのファイル名・タグを扱えません。
- 英語版の設定ダイアログのデザインを変更。
Ver. 1.18y ot109.2
- リプレイゲイン情報を読み込むタグの種類を選択できるようにした。
- LAMEタグからリプレイゲイン情報を読み込まないように初期値を変更。
Ver. 1.18y ot108.8
- ストリーミング演奏で、SSL通信(https)に対応。
- ストリーミング演奏で、ユーザ名とパスワードを埋め込んだURLによるユーザ認証に対応。
Ver. 1.18y ot107.2
Ver. 1.18y ot106.1
- タグの優先度を設定できるようにした。(デフォルトはID3v2 > APE > ID3v1)
タグの優先度の設定は、リプレイゲインを取得するタグの優先度にも影響します。
- RIFF SIFタグの対応を廃止。
RIFF SIFのデータは演奏できますが、タグを読むことはできなくなりました。
Ver. 1.18y ot105.1
Ver. 1.18y ot104.4
- ストリーミング演奏でストリームをファイルに保存するとき、既存のファイルを上書きしないようにした。
- ストリーミング演奏でストリームをファイルに保存するとき、サーバが休止中のときはファイルを作成しないようにした。
Ver. 1.18y ot103
- Visualizationプラグインに正確な演奏ポジションを渡すようにした。
- DSPプラグインを使用したとき、落ちることがあったのを修正。
Ver. 1.18y ot102
- 一部のデータをデコードしたとき、雑音が出ていたのを修正。
Ver. 1.18y ot101.2
- インストールの方法を変更。
NTFSのディスクにWINAMPをインストールしているかどうかでインストール方法が変わります。詳しくは、[インストール方法] を参照してください。
- ファイル名をin_!mpg123.dllに変更。(NTFSでin_mp3.dllよりも先にWINAMPに認識させるため。)
- 最近のWINAMPでストリーミング演奏機能が無効にできなかったのを修正。
どのバージョンのWINAMPから無効にできなくなったのか不明のため、WINAMP Ver. 5.11以上で動作しているときのみ、対策を有効にします。
- ストリーミング演奏機能の標準を無効に変更。
Ver. 1.18y ot100
Ver. 1.18y ot99.1
- データを出力する直前まで一貫してFloat64で演算するようにした。
左右反転、位相反転、ボリュームの演算もFloat64でおこない、出力直前に指定されたフォーマットに変換します。
Ver. 1.18y ot98
- Visualizationプラグインにデータを渡すときのFloatからIntへの変換を高速化。
Ver. 1.18y ot97.1
- 演奏開始の方法を変更。
- スレッド間の同期方法を変更。
- WINAMP Ver. 5.12以上が必要だった制限を解除。
WINAMP Ver. 5.12より下のバージョンでも動作します。
Ver. 1.18y ot96.1
- 連続で演奏開始したとき、WINAMPが固まることがあったのを修正。
Ver. 1.18y ot95.1
Ver. 1.18y ot94.1
- フルバッファリングが有効のとき、演奏終了直前に落ちることがあったのを修正。
Ver. 1.18y ot93
- コンパイラをVisual C++ Ver. 8.0.50727.42に変更。
Ver. 1.18y ot92
Ver. 1.18y ot91.1
- デコードを高速化。
Ver. 1.18y ot88.2と比べて約10%、Ver. 1.18y ot89.3と比べて約30%高速になっています。
- Ver. 1.18y ot90でモノラルデータが正常にデコードできなかったのを修正。
Ver. 1.18y ot90
- Ver. 1.18y ot89.3で遅くなったデコードを高速化。
Ver. 1.18y ot89.3
Ver. 1.18y ot88.2
- LAMEタグから+/-0.0dBのトラックゲイン情報を取得したとき、トラックゲイン情報が取得できなかったことになっていたのを修正。
Ver. 1.18y ot87a
Ver. 1.18y ot86
- ストリーミング演奏のとき、ファイルの拡張子がmp4、m4v、m4a、m4p、vlbのものを受け付けないようにした。(受け付けない拡張子はmp4、m4v、m4a、m4p、aac、nsv、nsa、ogg、apl、vlb)
Ver. 1.18y ot85b
- ストリーミング演奏でリプレイゲインが有効のとき、リプレイゲイン情報がないデータ用のプリアンプをかけるようにした。
Ver. 1.18y ot84
- RIFF SIFタグのトラックを取得できるようにした。('ITRK')
Ver. 1.18y ot83a
- コンパイラをVisual C++ Ver. 8.0.50215.44 Beta2に変更。
Ver. 1.18y ot82
- APEタグ + ID3v1タグ + Lyrics3 v2.00タグの複合タグに対応。(APEタグを優先。)
Ver. 1.18y ot81e
- mp3infpを使用するときは、Ver. 2.48以上を必須にした。
- [View file info...] でmp3infpを使用してタグの編集をしたとき、タグ情報の表示を即座に更新するようにした。
- [Misc - Read extended info on selection] を実行したとき、タグ情報の表示が更新されないことがあったのを修正。
- リプレイゲイン情報がないデータにプリアンプをかけられるようにした。
Ver. 1.18y ot80a
- データのエラーチェックを厳格にした。
- [デコーダ - エラーを検出してもデコードを強行する] を廃止。
Ver. 1.18y ot79b
- MP2をデコードするとき、バッファオーバーフローがおこる可能性があったのを修正。
Ver. 1.18y ot78
Ver. 1.18y ot77b
- ストリーミング演奏のとき、最後まで演奏できていなかったのを修正。
Ver. 1.18y ot76
Ver. 1.18y ot75c
- エラーで演奏開始できなかったとき、フルストップしないようにした。(プレイリストの次曲に移行します。)
- ストリーミングサーバに接続するときに送るUser-Agentを変更。
- ストリーミングサーバのIcecastに対応。
- プレイリストのストリーミングアイテム上でView file info...を実行したとき、アイテムのタイトルがURLに変更されていたのを修正。
Ver. 1.18y ot74a
Ver. 1.18y ot73a
Ver. 1.18y ot72a
- ストリーミング演奏のとき、ファイルの拡張子がnsaのものを受け付けないようにした。
Ver. 1.18y ot71
- コンパイラをVisual C++ Ver. 8.0.40607.16 Beta1に変更。
Ver. 1.18y ot70a
- ストリーミングバッファサイズを小さく設定したとき、ストリーミング演奏開始時に落ちることがあったのを修正。
Ver. 1.18y ot69
- フルバッファリングが有効のとき、演奏終了直前に落ちることがあったのを修正。
Ver. 1.18y ot68
- ストリーミング演奏機能を無効にできるようにした。
- フレームにエラーがあったときの演奏済み時間、サンプル数の計算方法を変更。(できるだけ0にリセットしないようにした。)
Ver. 1.18y ot67c
- Windows 95で動作しなかったのを修正。
- コンパイラをVisual C++ .NET Ver. 7.1.3091に変更。
Ver. 1.18y ot66
- ID3v2.4タグの解釈で間違っていたところがあったのを修正。(Thanks to T-Matsuo)
Ver. 1.18y ot65a
- ストリーミング演奏開始時に落ちることがあったのを修正。
Ver. 1.18y ot64
- 低レイテンシのアウトプットプラグインを使用したときの音切れを低減。
- 低レイテンシのアウトプットプラグインを使用し、ビットレートのリアルタイム表示をしたとき、ビットレート表示の更新速度が速すぎたのを修正。
- コンパイラをIntel C++ Ver. 8.0.047に変更。
Ver. 1.18y ot63
- RealOne Playerでエンコードしたデータが正常にデコードできなかったのを修正。
Ver. 1.18y ot62
- Advanced Title Formattingを使用しない状態でタイトル文字列が長くなったとき、WINAMPが挙動不審になることがあったのを修正。
Ver. 1.18y ot61c
- リプレイゲインに対応。
リプレイゲイン情報はID3v2、APE、LAMEタグから取得します。取得優先度はID3v2 > APE > LAMEタグとなります。
ID3v2、APEタグにリプレイゲイン情報を書き込むときはfoobar2000を使用してください。(ID3v2、APEタグのリプレイゲイン情報格納形式はfoobar2000互換のものを認識します。)
LAMEタグにリプレイゲイン情報を書き込むときはLAME Ver. 3.95以上を使用してエンコードしてください。
リプレイゲインの詳細については、http://replaygain.hydrogenaudio.org/を参照してください。
- ID3v2タグでUnicode文字列が使用されているとき、文字列の終端(1文字分)が取得できないことがあったのを修正。
Ver. 1.18y ot60b
- 演奏開始直後に一時停止・シークできないことがあったのを修正。
Ver. 1.18y ot59a
- 2回目の演奏開始ルーチンをInfoBox経由で呼び出していたのをやめ、WINAMPのメインウィンドウプロシージャをフックし、独自のWM_WA_IPCメッセージ経由で呼び出すようにした。
わざわざこんなことをするのは、アウトプットプラグインの関数を呼び出すときにメインスレッドで処理をおこなう必要があるためです。(play() -> 演奏開始スレッドを立ち上げ -> play()を即座に終了 -> 演奏開始スレッドからWM_WA_IPCメッセージを発行 -> play_2nd())
Ver. 1.18y ot58
- 他のインプットプラグインと競合がおきて演奏開始できないことがあったのを修正。
Ver. 1.18y ot57
- winampGetExtendedFileInfoに対応。(Thanks to T-Matsuo)
Media Libraryでタグ情報を表示することが可能になりました。
- ストリーミング演奏開始時にウィンドウが固まらないようにした。
- ストリーミング演奏開始時の進行状況をタイトル欄に表示するようにした。
- ストリーミング演奏時に接続が切れたとき、ランタイムエラーが出ることがあったのを修正。
- ストリーミング演奏用のタイトルバッファを初期化していなかったのを修正。
- RIFF/RMP3ファイルに対応できていなかったのを修正。(*.rmp)
Ver. 1.18y ot56
- フレームヘッダのチェックをさらに厳格にした。
- ストリーミング受信スレッドを作り直した。
- CBRデータの演奏時間の計算で誤差が出ることがあったのを修正。
Ver. 1.18y ot55
Ver. 1.18y ot54
- ストリーミング演奏開始時の動作を高速化。
- ストリーミング演奏開始時に落ちることがあったのを修正。
- 本スレッドとストリーミング受信スレッドの間で同期がとれていないところがあったのを修正。
Ver. 1.18y ot53
- ファイルの終端に付けられたID3v2.4タグに対応。
Ver. 1.18y ot52
Ver. 1.18y ot51
- ビットレートのリアルタイム表示をするとき、アウトプットプラグインのレイテンシ分を遅延させて表示するようにした。
- VBRタグの付いてないファイルを演奏するとき、0による除算エラーがおこることがあったのを修正。
Ver. 1.18y ot50a
- Ver. 1.18y ot48b、Ver. 1.18y ot49で、演奏開始時に落ちることがあったのを修正。
Ver. 1.18y ot49
- MP1、MP2に対応。
- Ver. 1.18y ot48bで、バッファオーバーランがあったのを修正。
Ver. 1.18y ot48b
- メンテナンス性向上のため、mpg123ライブラリをotmpg123.kpi、foo_mpg123.dll、cnv_mp3pcm_123.wacと共通化。
mpg123ライブラリは頻繁に改変しているので…。
Ver. 1.18y ot47a
- VBRタグの付いてないVBRデータを、最後までデコードできないことがあったのを修正。
- アウトプットプラグインの設定によっては、ビットレートのリアルタイム表示ができなかったのを修正。
Ver. 1.18y ot46
- Visualizationプラグインにデータを渡すとき、DSPプラグイン通過後のデータを渡すようにした。
Ver. 1.18y ot45a
- APEタグ + ID3v1タグの複合タグに対応。(APEタグを優先。)
Ver. 1.18y ot44
Ver. 1.18y ot43k
- 最近のLAMEでエンコードされたデータを正確なサンプル数で出力できるようにした。(ギャップレスで演奏できるようにした。)
LAMEの--nogapオプションを使用してエンコードするとギャップレス演奏ができません。
ギャップレス演奏をするには、ギャップレスモードを備えたアウトプットプラグインが必要です。(out_asio.dll等。)
Ver. 1.18y ot42c
- ストリーミング演奏のとき、メモリリーク、ハンドルリークがあったのを修正。
- コンパイラをVisual C++ .NET Ver. 7.1.3091に変更。
Ver. 1.18y ot41
- ID3v2タグでUTF-8文字列が使用されているとき、文字列の終端(1文字分)が取得できないことがあったのを修正。
Ver. 1.18y ot40a
- ストリーミング演奏のとき、ファイルの拡張子がogg、nsvのものを受け付けないようにした。
Ver. 1.18y ot39
Ver. 1.18y ot38
- Float32で出力したとき、モノラルデータが正常にデコードできなかったのを修正。
ただし、本プラグインはFloat32で出力できないため、動作に影響はありません。mpg123ライブラリの更新のみの変更です。
Ver. 1.18y ot37a
- Float64で出力したとき、モノラルデータが正常にデコードできなかったのを修正。
Ver. 1.18y ot36
- Float64で出力したとき、スペアナに渡すデータがおかしかったの修正。
Ver. 1.18y ot35
- Float64で出力するとき、クリッピング処理をしないようにした。(アウトプットプラグインの最終段でクリッピング処理をする。)
Ver. 1.18y ot34
- Float64で出力できるようにした。
従来(Int受け渡し)のときは、
インプットプラグイン演算(Float) ->
インプットプラグイン出力(Int) ->
アウトプットプラグイン入力(Int) ->
リサンプリング(Float) ->
アウトプットプラグイン出力(Int)
と変換していたので整数変換時に誤差が蓄積する可能性があったのですが、Float64でデータを受け渡しすることにより、
インプットプラグイン演算(Float) ->
インプットプラグイン出力(Float) ->
アウトプットプラグイン入力(Float) ->
リサンプリング(Float) ->
アウトプットプラグイン出力(Int)
という経路になり、整数変換を最小限にすることができます。
ただし、Float64を入力できるアウトプットプラグインは、現在、out_asio.dll Ver. 0.22以降しか存在しません。
Ver. 1.18y ot33
- コンパイラをVisual C++ .NET Ver. 7.1.2235 Betaに変更。
コンパイラのプロセッサ別の最適化オプションをPentium4、Athlon用に変更しました。(Visual C++ 7.1の新機能。)
Ver. 1.18y ot32a
- フレームにエラーがあったとき、総ストリームサイズを超えて次のフレームを検索しないようにした。
- 浮動小数点型から整数型に変換するとき、小数点以下が一番近い値(中間の場合は最寄の偶数)に丸めるように変更。(以前は四捨五入だった。)
Ver. 1.18y ot31b
- 英語版の設定ダイアログが正常動作していなかったのを修正。
Ver. 1.18y ot30
- コンパイラをVisual C++ .NET Ver. 7.0.9486に変更。
Ver. 1.18y ot29
- Int32で出力できるようにした。
mpg123ライブラリの内部で、64bit浮動小数点型から32bit整数型に変換しています。
Ver. 1.18y ot28b
- Int24で出力できるようにした。
mpg123ライブラリの内部で、64bit浮動小数点型から24bit整数型に変換しています。
- MPEG2.5/8kHzのデータが正常にデコードできなかったのを修正。(Thanks to Northern Verse)
- mp3infpのタブを開くとき、mp3infp.dllのmp3infp_ViewPropを呼び出して開くようにした。
今後mp3infpのタブ名称が変更になっても、in_mpg123.dll側を変更する必要がなくなりました。
Ver. 1.18y ot27
- VBR判定部分で危ないところがあった(^^;)のを修正。
Ver. 1.18y ot26
- コンパイラをVisual C++ .NET 7.0 Beta 2に変更。コンパイラの最適化不具合が修正されています。
Ver. 1.18y ot25
- フルバッファリングが無効のとき、大きなヒープメモリを確保しようとして落ちることがあったのを修正。
フルバッファリングが無効のときは正常動作していませんでした。Ver. 1.18y ot24/ot24a を使用している方は必ずこのバージョンに差し替えてください。
Ver. 1.18y ot24a
- データをフルバッファリングして演奏できるようにした。([デコーダ - フルバッファリング] で設定。)
このオプションを有効にしておくと、演奏中にもmp3infpで自由にタグを編集することができるようになります。ただし、メモリを非常に多く消費します(mp3ファイルのサイズ分)ので搭載メモリに余裕のある方だけ使用した方がいいでしょう。
Ver. 1.18y ot23
- Windows NT/Me/98/95で動作しているとき、[ストリーミング - ストリームの保存 - 参照...] のファイル保存ダイアログが動作していなかったのを修正。
Ver. 1.18y ot22
- ID3v2タグの内容を取得するとき、文字列後ろのスペース文字を削除しないようにした。
- KanjiStrncpy()で長さが0バイトの文字列を正常にコピーできなかったのを修正。
Ver. 1.18y ot21
- 演奏終了時にノイズが出ることがあったのを修正。(mp3ストリームサイズの計算を厳密にし、ストリームの終端を超えてデコードしないようにした。)
Ver. 1.18y ot20
- in_mpg123改悪版ベースのKbMedia Player用プラグイン作成のため、mpg123ライブラリの部分を整理した。(できるだけグローバル変数を使用しないようにした…etc.)
Ver. 1.18y ot19
Ver. 1.18y ot18
- フレームヘッダにエラーが現れたとき、落ちることがあったのを修正。
Ver. 1.18y ot17c
- mpg123 pre0.59s差し替えの件でまだ反映しきれていないところがあったのを修正。
Ver. 1.18y ot16
- mpg123 pre0.59sで修正されたintensity-stereoに関する不具合の件が反映できていなかったのを修正。
なお、mpg123ライブラリはmpglibのものではなく、できるだけmpg123本体のもの(ファイル単位とは限らない)を使用しています。(浮動小数点演算(64bit)・i386用のものを使用。)
Ver. 1.18y ot15
- mpg123ライブラリを最新のもの(pre0.59s)に差し替えた。
- RIFF/WAVE MP3のmp3infp呼び出しに対応。
Ver. 1.18y ot14
- コンパイラをVisual C++ .NET 7.0 Beta 1に変更。
Ver. 1.18y ot13
- 演奏スレッドの終了方法を、できるだけ安全に終了できるように変更。また、どうしても終了しない場合は強制終了するようにした。
Ver. 1.18y ot12
- Unicode -> 2バイト文字変換ルーチンで、WideCharToMultiByteに渡す出力バッファサイズの指定が間違っていたのを修正。
Ver. 1.18y ot11
- ID3v2タグでUTF-8文字列が使用されているとき、正常動作していなかったのを修正。
Ver. 1.18y ot10
- ID3v2タグのタグ全体非同期化時の読み込み処理を修正。
Ver. 1.18y ot9
- mp3infpを呼び出すときのタグ種別判定で、RIFF MP3かどうかの判定をもう少し厳密にした。(以前は 'RIFF' の文字しか見ていなかったので。)
Ver. 1.18y ot8
- mp3infp(http://www.win32lab.com/) Ver. 2.00に対応。
当初の目論見どおり(^_^;)、めでたくID3v2が編集できるようになりました。
ID3v2タグの新規作成等をするときはWINAMP5側の演奏を停止しておいてください。(mp3infp側が書き込みできないので。) タグ内容の更新のみをする場合は演奏を停止しておかなくても大丈夫みたいです。
- タグがない場合のタイトル表示で2バイト文字のことを考慮するようにした。
トップページに戻る