最新版は Delphian World の Graphics & Multimedia から入手できます。
旧版はこちらにあります。
赤文字 = 音質に関わる機能追加・バグ修正
青文字 = 速度に関わる機能追加・バグ修正
黒文字 = 使い勝手などに関わる機能追加・バグ修正
この色の使い方は LAME project のマネです。
Ver 1.26 27th Mar. 2001
- Stopメソッド直後にPlayメソッドを使うとスレッドの競合が起こることがあるバグを修正(thanks たつやさん、Mon さん、MinMin さん)
- GetID3Genre メソッドを新設。
- ID3V2 のコメントフィールドを読めるようにした。
Ver 1.25 7th Jan. 2001
- Volume プロパティの値によっては起動毎にサウンドカードのボリュームが下がっていくことがあるバグの修正(thanks Joh さん)
- 音量調整機能がないサウンドデバイスに出力できなかったバグの修正(thanks alphaty さん)
- ID3V2タグで中身が空のフィールドがある時に不正終了するバグの修正(thanks !Junk さん、nFo さん、swallow さん)
Ver 1.24 5th Oct. 2000
- K6-2+, K6-3+ で例外で不正終了していたバグの修正(thanks TOSさん)
- 4KB 未満のデータが再生できなかったバグを修正。
Ver 1.23 23th Aug. 2000
- 3DNow!, Ext3DNow! 使用時の音質をちょびっと改善(PCM 化の時に切り捨てを四捨五入にしただけ。聞き比べてもわからん^^;;)
- モノラル時、Athlon で一部の Ext3DNow! ルーチンを使っていなかったバグを修正。
- ファイル出力時、Data chunk のサイズフィールドの値が 8 小さかったバグを修正。
Ver 1.22 20th Aug. 2000
- UNICODE を使っている ID3Ver2 タグを読めるようにした(little endian のみ)
- GenreIndex プロパティを新設(thanks 眠眠さん)
- 非同期化 ID3Ver2 タグ読み込みを実装していないのに読み飛ばしていなかったバグを修正。
Ver 1.21 18th Aug. 2000
- 一部の ID3Ver2 タグの読み込みで文字化けしていたバグの修正(thanks 眠眠さん)
- NeedInfoType プロパティを新設(thanks 眠眠さん)
- MP3 形式かどうかの判定を甘くした。
Ver 1.20 10th Aug. 2000
- 一部の ID3Ver2 タグの読み込みで、文字化けしたり、例外が起きるバグの修正(thanks そーどさん)
- 曲が終わる数秒前で stop メソッドと position プロパティが効かなかったバグを修正。fixed a bug that you couldnt stop playing and couldnt get position property at some seconds to end of a song.(D.J. Ha reported this bug. thanks)
Ver 1.19 19th Jun. 2000
- InvertPolarity プロパティを追加(thanks Ha さん)
Ver 1.18 18th Jun. 2000
- Athlon, Pentium 用コードを若干高速化。
ひょっとしたら、PentiumII や III では逆に遅くなってるかもしれない・・・
Ver 1.17 12th Jun. 2000
- 出力の正負が逆だったのを修正。
- 3DNow! 用コードを若干高速化。
- オリジナルのデコードエンジンでは可能なはずのダウンサンプリングや 8bit 出力のやり方がわかんないので、関連するコードをリンクしないようにした。
つまり、今までは使ってもいないくせに、リンクしてったことやね。ごめんなさい。
- ファイルから読み込むためのバッファを使い切っていないことがあったバグを修正。
- DeviceID プロパティ, DeviceNames プロパティ, DeviceCount プロパティを新設して、標準の wave デバイス以外にも出力できるようにした(thanks jackson さん)
- 暇を見付けて先読みするようして、音切れしづらくした・・・つもり。でも、CPU 負荷率がちょっと上がった。
- tasm 無しでもデコードエンジンを再コンパイルできるようにした。その代り、オリジナル仕様の nasm が必要^^;;
Ver 1.16 15th Apr. 2000
- 3DNow! 用コードを若干高速化。
- NoisySeek プロパティ新設(thanks TRETTOさん)
- DecodePriority プロパティ新設(thanks おぐ2さん)
- Pause 後に Seek すると、Unpause が効かないバグを修正(thanks Lさん, Ha さん)
- GUI スレッド(メインスレッド)とデコードスレッドの同期の粒度を細かくして、反応を早くした。
Ver 1.15 17th Mar. 2000
Ver 1.14 14th Mar. 2000
- Close メソッド, Position プロパティ読込み, OnChangePosition イベントでスレッドが競合してフリーズや不正終了することがあるバグの修正(thanks 眠眠さん, TRETTO さん, fossil さん, しんじょさん, Tohtetu さん, ken さん, ike−G さん他多数の方々)
Ver 1.13 29th Feb. 2000
Ver 1.12 20th Feb. 2000
- 再生開始時、デバイスエラーが出ることがあるバグを更に修正(thanks ike−Gさん)
Ver 1.11 19th Feb. 2000
- 再生開始時、デバイスエラーが出ることがあるバグを修正(thanks ike−Gさん)
- デバイスエラー時、発生理由を特定しやすくするため、発生箇所を含めたエラーメッセージを表示するようにした
Ver 1.10 26th Jan.2000
- 再生中に終了まで時間がかかることがあったバグを修正(thaks 。Wiz-Cat さん)
- 再生中の mp3 ファイルの ID3V1 タグの comment を正常に読めなかったバグを修正(thanks Tatakei さん, MOTOさん)
Ver 1.09 21th Jan.2000
- 一部の VBR ファイルの曲頭にノイズがのっていたバグを修正(thanks hotlod さん)
- 一部の ID3V2 タグを読み込めなかったバグの修正(thanks 眠眠さん)
Ver 1.08 17th Jan.2000
- モノラル mp3 ファイルを wave ファイルに正常に出力できなかったバグを修正(thanks femt さん)
- ID3V2 タグ内容の読込機能追加。
Ver 1.07 31th Dec.1999
- VBRI 形式の VBR に対応。
- 再生中のファイルにQueryOpen メソッド, ReadInfo メソッドが使えなかったバグを修正(thanks Wiz-Cat さん)
- 一部の RMP, RIFF ファイルの SI フィールドが読めなかったバグを修正(thanks Wiz-Cat さん)
- 同期ヘッダが壊れているファイルの seek がうまくいかないことがあるバグの修正。
Ver 1.06 22th Dec.1999
- CRC 付きの時、VBR 形式の判定を失敗するバグを修正。
- 内蔵 Lyrcis の読込み機能追加(そのまま読込むだけで、解析はしていません)
- QueryOpen メソッド, ReadInfo メソッド, ID3V1Infos プロパティを追加。
- 同期ヘッダのチェックを甘くした(同期ヘッダがたまに壊れていても再生可能に。ただし、誤判定の可能性がちょっと増加)
Ver 1.05 17th Dec. 1999
- 他のアプリが WAVE デバイスを使っていると、このコンポーネントを使っているアプリが起動できないバグを修正(thanks Tatakei さん)
- MacBinary が読める・・・かも^^;
- TMPThread, TMP3Player, TSoundOut クラスの Create メソッドの中で例外が起きた時、Free メソッドの中でも例外が起きるバグを修正。
Ver 1.04 6th Dec. 1999
- このコンポーネントを使っているアプリを実行中に Windows を終了できないことがあるバグを修正(thanks Tatakei さん)
- 一部の RMP や RIFF ファイルの読込ができないバグを修正(thanks Tatakei さん)
- 設計時に Volume プロパティを 0 にすると、コンポーネントの生成時点のサウンドドライバの音量設定値になるようにした(thanks ezwfan さん)
- 設計時に EqualizerMode プロパティを memFreq にしておくと、コンポーネントの生成時に EqualizerFreq プロパティがそれらしい値に設定されるようにした。
- MP3Plyr.pas の TThread クラスが Classes.pas の同名クラスと衝突するのを回避するため、TMPThread クラスに改名。
Ver 1.03 1st Nov. 1999
- 3D Now! 対応コードを入れて、高速化。
- Close 処理途中でエラーが生じても、できり限りリソースを解放するようにした。
- 非 Seekable な Stream からの再生時、Stop メソッドで Close していないバグを修正。
- Std 版に含まれていないらしい SyncObjs ユニット無しでも動くようにした(thanks Marbさん)
- 末尾を空白文字で埋めていない ID3 Ver1 Tag 読込時、文字化けすることがあるバグを修正。
- イコライザーの周波数を設定できるようにした。
- Pause している時、無駄に CPU タイムを使っていたバグの修正。
- Seek メソッドで MaxInt に近い秒数を引数にした時、無限ループに落ちるバグを修正。
- Pause 中に曲の末尾近くに Seek して Unpause すると落ちることがあるバグを修正。
- Layer 1, Layer 2 の曲にイコライザーが効いていなかったバグの修正。
Ver 1.02 21th Oct. 1999
- cwinasm.asm で word ptr を忘れて左チャンネルの音がおかしくなっていたバグを修正(thanks がんぞうさん)
- Position プロパティでの読取精度を更に向上。
- スレッド内での例外時、不安定になるバグの修正。
Ver 1.01 20th Oct. 1999
- PAD 計算をミスって Seek 後のフレームによっては、動作がおかしくなっていたバグを修正。これにより Layer 1 でも Seek が安定したと思われるので、Layer 1 でも Seek 可能に。
- Position プロパティでの読取精度を 500 ミリ秒から 100〜200ミリ秒程度へ向上。
- オリジナルのデコードエンジンでアセンブラを使っていた部分を、 TMP3Plyaer でも全てアセンブラ化して負荷減少。
Ver 1.00 12th Oct. 1999
今後の予定