2009年02月08日

"End and Stop" SongBird拡張機能公開

概要

自作のSongBirdの拡張機能を公開したいと思います。ただしインストールする場合は注意書き(重大すぎるバグがあります)と開発情報を良く読み、それに同意した上で利用してください。

機能

この拡張機能はXUL技術を利用したミュージックプレーヤーSongBirdの拡張機能です。この拡張機能を使うとプレイリストを再生中に現在再生中の曲の終わりで再生をストップさせることが出来ます。つまり現在再生中の曲は最後まで再生されるものの、次の曲は再生されません。

使い方

曲の再生中にツールバー右端に表示される小さめのボタンを押してください。その曲は終わりまで再生されますが、次の曲は再生されません。

免責事項

この拡張機能はMITライセンスでライセンスします。改変や再配布などは自由ですが、このソフトを利用することによって起こったいかなる損害や不利益に対しても作者は一切の責任を負いません。

注意!(重要)

実際重大な問題があります。私は一度SongBirdの公式サイトにこの拡張機能を投稿したのですが、そこから二度、試しに私のSongBirdにこの拡張機能をインストールしてみたところ、拡張機能マネージャが破損して全ての拡張機能のインストールおよびアンインストールが正常に行えなくなりました。

最終的にわたしはSongBirdを設定ファイルも含めて完全削除して再インストールしましたが、もちろんのことSongBirdの設定は全て消え去りました。もしiTunesからライブラリをインポートしてSongBirdをつかうという態勢をとっていなかったら、ライブラリ自体もどうなっていたかわからなかったでしょう。

なのでこの拡張機能をインストールする人はこういった事態が起こることを了承した上で使わなければなりません。出来れば誰かがこの問題点を解決した拡張機能を再配布してくれることを願いたいのですが……。

インストール方法

まずこの拡張機能をダウンロードしてください。拡張子は.xpiです。それからSongBirdでアドオンマネージャを表示させて、[install]ボタンを押してファイル選択ダイアログでダウンロードしたxpiファイルを選択してください。警告が表示されると思うので、それを了承したら、拡張機能のインストールの経過表示が完了するのを待って、最後にSongBirdを再起動してください。ツールバーの右端にボタンが表示されたら、インストールは完了です。

※Firefoxでダウンロードするにはブラウザ上でリンクから右クリックして表示されたメニューから[別名でリンク先を保存](Firefox)を選択してください。Safariでは通常のクリック操作でダウンロードできると思いますが、ダウンロードしたファイルのファイル名の末尾に「.zip」とついている場合はファイル名を変更してこの部分を削除してください。

開発情報

この拡張機能はSongbirdのプレイバックから曲の終わりを検出するリスナーを作って、そこからイベントを起こしてプレイバックをポーズするという仕組みになっています。

本当は曲の終わりはSTREAM_ENDで検出したかったのですが、動作してくれないのでSTREAM_START(つまり正確に言うと曲の始め)でポーズさせるという方法をとっています。つまり実際に再生が停止するのは次の曲の開始時点です。なのでスペックが追いつかない状況でこの拡張機能を使うと、次の曲が少しばかり再生されてから再生が止まることになります。

また、曲を再生していない状態でこの拡張機能のボタンを押すと、次に再生を開始しようとして再生ボタンを押してもすぐ再生が止まります。そう言った場合はもう一度再生ボタンを押すと問題なく再生されます。

Q.なんでこんな拡張機能を作ったの?

A.私は曲を途中で止めるのが嫌いなんですが、でも次の曲は聴かないという場合はもちろんあります。普通は曲が終わってから操作をして再生を止めますが、面倒ですよね。次の曲が始まればやっぱり止めるのはためらわれるし。だからこんな拡張機能を作りました。

これからの展望

  • とにかく拡張機能マネージャをぶっ壊すのだけはどうにかしたい。
  • 再生パネルにボタンを表示できたらいいなあ。
  • STREAM_ENDが使えるようになったらいいなあ。
  • ボタンをカスタム化したいなあ。
  • ボタンを切り替え式ボタンにしたいなあ。
ラベル:SongBird
posted by whitecaps at 14:27| Comment(0) | TrackBack(0) | コンピューター | このブログの読者になる | 更新情報をチェックする