やっぱり自作しよう...

音楽再生アプリ、スクラッチから自作することにした。完全には気に入ったものがないことが理由。

foobar2000のコンポーネント開発について、もっと情報があればいいのだが、使うには十分な情報があるのだが、コンポーネント開発についての情報がなさすぎる。コミュニケーションサイトも英語ばかりだし。英語サイトはやりとりはできるだろうが、どこがアクティブなのか、どこが適切なのかを判断するのが難しい。

XMPlayというプレイヤーが使っているBASSというライブラリが一式、非商用に限りフリー公開されているので、再生部分についてはそれを使う予定。

インポート(リッピング)はiTunesを使い続けるつもりで、ALACを使うつもりなので(iPodを使うのとロスレスにするとこういう選択になる)、自前のCD読み込みやエンコード処理は作る必要がない。

ファイル管理とメタ情報管理をどうしたら高速化できるか、ファイル管理は目標がfoobar2000レベルで、メタデータは作りかけのSQLiteを使ったfoobar2000コンポーネントを使えばいいだろう。

BASSのライブラリにはWASAPIやASIOもあるし、ALACのデコーダーもあるので問題はないと思われる。

UIを自分ごのみにして、適当に作っていいだろう。完成しなくても、メタデータの管理とiPod連携、自宅サーバへの送信(自作なら現状のiTunes連携ソフトが流用できる)とLast.fm送信ソフト(開発者登録はしてあってドキュメントは読んだ)を作ったら終わりだ。

iPod連携についてはfoobar2000のコンポーネントのソースがあればいいけど、無理なので、Rockbox化して使うか、Songbirdのソースを解析するか、iPodをディスクマウントして自前で何とかするか(iPhoneは使ってないからなんとかなるはず)、どうにかしようという感じ。

foobar2000のコンポーネント開発で痛いのは、ドキュメントの絶対量が少ないのと、製品版のVC++(アカデミック版が買えない人間からすると70000円近い買い物になる)がないと、メニューや設定画面を持ったコンポーネントが実質作れない、というところだ。それだけで充分辞める理由になった。

でも、foobar2000本体は使い続ける。リプレイゲインのライブラリがBASSライブラリに含まれていないからだ。再生ロジックは見つけたのだが、設定が面倒くさい。そのため、以下のようにする。

  • CD購入(iTunes Storeで購入、DRMなし)
  • iTunesでリッピング
  • foobar2000でアルバム単位でリプレイゲインを計算、タグに設定
  • 自作ソフトでリプレイゲインを使いながら再生、iPod同期

という、まだるっこしい?使い方をするつもりだ。iTunes Storeは配信限定モノを買ったり、AKB48の劇場盤シングルのように金がまわらない部分を購入するためにも使うので使用をやめられないから、ついでにリッピングソフトとして使う。

foobar2000は起動の速さを生かしてリプレイゲインの設定ソフトとしてだけ使う。将来自分でできるようになったら使うのをやめる。

あとは自作ソフトにかかっている。
さて、VC#2010 Expressで作ろうか。foobar2000の前にUIだけ作りかけのがあるんだよな。

コメント