トラック再生完了イベントの取得ができないまま、再生位置の監視で代用し、iPodコンポーネント(foo_dop)のSDKを使った部分を実装して自宅サーバへの履歴送信処理を書いて形を完成させた。配布させなければ使えるレベル。
開発環境のiTunesとfoobar2000がメインの再生環境ではなくなったのでメタデータを好きに使える。再生環境に音楽ファイルをコピーしたが、ファイルは残してあるので、foobar2000のメディアライブラリは元のままなので開発、テストが継続できる。
今は、初めて、foo_dopを使って、iPod nanoに音楽ファイルを転送したところである。うまくいった。iTunesを自動的に起動する、を外しておいたのでiTunesが起動することもなかった。移行後はこうなるのかという動作確認にもなった。メインはコンポーネントの動作確認なので、iPodで転送したファイルを空再生(ヘッドフォンを刺さないで再生)している。
ある程度再生したら、foobar2000と同期して、本体へのメタデータの同期、自宅サーバへの履歴送信が行われれば成功。出来なかったら、デバッグの開始である。
1件(1曲)再生した時の送信内容は、直接foobar2000で再生した時と同じ内容をサーバへ送信するようになっているはずなので、foo_dopとのI/F部分と、複数件に対する処理が正常に行われるかとメモリリークがないか?といった程度の確認になるだろうと考えている。
別件の調べ物をしていたら、VC++ Expressで、foobar2000のコンポーネント開発をしている人のブログが見つかって、設定画面を作っている記事が見つかった。本格的なコンポーネントまではたどり着いていないようだが、設定画面をExpressで作る過程を公開してもらえるのは助かった。動く状態になったら、現状、ソースに直書きしている、アカウントや、データベースファイルのパスなどを設定画面で設定できるように修正してみようか、などと考えている。
まぁ、foobar2000もその次に向けてのつなぎなのだが。でも、iPod連携、自作アプリで出来るかなぁ?Rockbox化すればできるとは思うのだけど。foobar2000で同期したあとのiPodをディスクとして中身を覗けばどういう形で何を書けばいいのかわかるかな?先は長いし楽しめる。
コメント