iTunesはそれなりによくできたソフトだと思うけれど(それでも7.4.3以上には絶対にバージョンアップしないようにしてるけど(苦笑))、iPod本体の中で動作するファームウェア(ドライバ)の品質は自分から見て高いとは言いがたい。特に以下の3点が致命的。
- ソフトウェアまたはハードウェアのバグ。プレイリスト再生中に一部の(特定の)曲が常に10数秒しか再生できなくなる現象が発生する
- ソフトウェアバグ。10数秒しか再生できなかったにもかかわらず再生回数が1加算されてしまう
- ソフトウェアバグ。特定の条件で、iTunesでは正常に再生できるのにiPodでは再生できないという状態が発生する(再現率100%)
- ソフトウェアバグ。アートワークが真っ黒になる曲がある。同じアートワークを使っているのに正常に表示される曲とされない曲に分かれることがある。
- UI設計バグ。1曲ループ再生とかシャッフル再生とか切り替えるのに何ステップも踏んでメニューのトップまで移動しなければならない。また、設定変更が完了した後元の「プレイリストに」一発で戻ることができない。
3.はこのブログで定期的に槍玉に挙げている例の現象(ウチの超ヘビーな読者さんならこれだけでわかると思う)。音源ファイルに起因する問題ではなく、100%iPodソフトウェアのバグ。
1.と2.はワンセット。予測不可能・回避不可能という意味で致命的。その特定の曲が他の曲の続きとしてではなくプレイリストの1曲目として再生する場合のみエラーにならないが、それは「ランダム再生流し聞き」が主体のiPodの利用方法の中ではレアケースだろう。せめて2.の再生回数不正インクリメント問題がなければ我慢できるのだが。この理由で不正に再生回数を稼いでしまう曲が出てしまって困る。(再生回数ランキングの信頼性がなくなってしまう)
これは一体どんなアルゴリズムになっているのだろう。正常にEOFを踏んだ場合とエラーで読めなかった場合をごっちゃにしてるとしか思えないのだが。自分なら絶対こんな腐った実装はしない…厳密に再生時間と曲の長さを比較するように組む。そうしておけば2分再生したら1曲聴いたことにするとかいう柔軟な運用も可能になるんで。
…俺が直すから開発環境公開してくれ。(苦笑)