最終更新: 2010-02-26T00:49+0900
一定の品質に到達したらもうささいな変化はいらない。
* @2010-02-14 再生回数でソートするスマートプレイリストを再生しているときに起こっているので、再生回数が増えてプレイリストの並びが変化するのが原因かもしれない。"ある曲"ではなく"リストの○番目"を一曲リピートしているのかも。それでは"次"の曲が再生される説明にはならないけど、再生回数の同じ曲が連続していることが影響してるかもしれない。
最終更新: 2011-04-09T17:30+0900
プレイリストの書き方がわからなかったので実験した。MediaLibraryという共有フォルダをつくって、これをメディアサーバーの公開フォルダに設定している。これがフォルダ階層。
MediaLibrary ├Genre │└Artist │ └Album │ └Title.mp3 ├Playlists │└pl1.m3u └pl2.m3u
メディアサーバーのデータベースを Webインターフェイスから更新しただけでは VGF-WA1のメニューに素直に反映されなくて、VGF-WA1でブラウズしてるうちに項目が増えていって、いつのまにか「プレイリスト」メニューの下に pl1と pl2が表れていた(だから早々に駄目だと判断してはいけない)。
pl1.m3u に書いた中で再生可能だったのがこれら。
../Genre/Dido/no angel/06.THANK YOU.mp3 Genre/Dido/no angel/01.HERE WITH ME.mp3 MediaLibrary/Genre/Dido/no angel/05.ALL YOU WANT.mp3 /MediaLibrary/Genre/Dido/no angel/02.HUNTER.mp3
pl2.m3u で有効だったのはこれ。
Genre/Dido/no angel/01.HERE WITH ME.mp3 /MediaLibrary/Genre/Dido/no angel/02.HUNTER.mp3
実際のところ、引用符で囲ったもの以外は全て認識された。
試してないけど
../../../../../Dido/no angel/01.HERE WITH ME.mp3
とか
Dido/no angel/01.HERE WITH ME.mp3
とか書いても認識されそうな気が今はしてる。
VGF-WA1はプレイリストもシャッフル再生してくれる。リストの曲を全て再生すると、次のリストに移動する。良い。
Songbirdの Playlist Export Tool (ver.0.1.1.14)でプレイリストをエクスポートしたら文字が化けている。「KMKM :: Firefoxのjavascriptでローカルファイルにアクセスする方法まとめ」のやり方を丸コピしたら Shift_JISでも UTF-8でも化けずに書き出すことができた。試したのだが、LinkStation Miniの PVConnectは UTF-8の日本語パスを理解する。
Songbirdでエクスポートしたままではリスト内の曲のパスが \\server\で始まるネットワークパスだが、このプレイリストはそのサーバー(NAS)に置くものなので相対パスに置換する。
Media Player Classicはプレイリスト内の曲を、エンコーディングの違い(Shift_JIS、Unicode)、パスの形式(ネットワークパスと(厳密な)相対パス)の違い関係なく再生してくれるが、LinkStation Miniは Songbirdがエクスポートしたプレイリストを一度も再生してくれていない。
最後の壁は Songbirdでエクスポートしたプレイリストに含まれるファイルパスの英字が全て小文字になってしまっていること。LinkStation Miniのメディアサーバーは大文字小文字を区別する。
Playlist Export Toolは特別な処理は行っていなくて、関連するのはこれだけ。itemLocというのが曲のパス。
var aaa1;
var itemLoc;
aaa1=theMediaView.getItemByIndex(i).QueryInterface(Components.interfaces.sbILibraryResource); itemLoc=aaa1.getProperty(dataSource+"contentURL"); if(nsIIOService.extractScheme(itemLoc)=="file"){ itemLoc=nsIFileProtocolHandler.getFileFromURLSpec(itemLoc).path; }
どこで大文字小文字の情報が失われてしまったんだ……。(プロパティ:"http://songbirdnest.com/data/1.0#contentURL"の時点でもう失われているのだろう)
「Songbird (under Windows) saves filenames in the internal database as lower-case」なんて書いてる人もいるなあ。Windows限定でどうして情報を捨てるようなことをするのか。ネットワーク越しに、ディレクトリエントリを読むことで(二重苦)、スクリプトが反応してないよダイアログを出しつつも元のファイル名を復元することはできたけど、パスも復元しないと……。無駄だなあ。
でもやった > Songbird_PlaylistExportTool_0_1_1_14_utf8_encode_and_exact_path
サーバー名とその下の共有名は復元できなかった。それらは親ディレクトリがないから列挙するには別の方法が必要。どうせ相対パスにするときに置換されてしまう部分なのでこれ以上は知らない。
なぜ?なぜ VGF-WA1のプレイリストメニューに表れない? 数曲分、手書きしたときはうまくいったのに。
プレイリストのファイル名から日本語部分を削ったら見えた。でもこれは曲数を 6曲まで絞り込んだファイル。Songbirdからエクスポートした完全なプレイリストは再生できてない。曲数に上限があったり、NGワードがあったりするのか。
ファイルパスの 1つ前の行を削ったらその曲は見えるようになった。表示用のデータの扱いに問題でも?
#EXTINF:205,MAHO堂 - おジャ魔女でBAN^2 << この行 ../Anime/[おジャ魔女どれみ] おジャ魔女でBAN^2 (MAHO堂).mp3
無効なファイルパスは無視してくれるから、あってもなくてもいい情報のために曲が見えなくなってるとは思わなかった。
長かった……。
眠ってしまってからも音楽再生に CPUパワーを消費し続けるのは気が咎めるので Songbirdのためのスリープタイマーを探していた。PCを停止するのであれば 「at HH:MM shutdown /h」でいいのだが、PCは起動しっぱなしでいい。
Songbird Timer 0.2というそのものズバリのアドオンは、対応が Songbird 0.3までで使えず。install.rdfの maxVersionを書きかえても、Songbird 1.0で導入された Media Core APIに対応したコードではないので動かない。無念……
アドオンで、プロセスにつき一度だけ初期化処理を実行したいときってどうすれば? 現在のヘボなやり方では Main/Mini Playerを切り替えるだけでタイマーの再設定と残り時間表示ができなくなる。(タイマー自体は有効なまま)
Mini Playerからメインメニューにアクセスできない(タイマーもセットできない)のは Songbirdの問題。できて当然ではないか?
ついでに、Mini Playerから Main Playerに戻るとフィルタペインが初期状態(「すべて」が選択されている)になっているのも以前から気になっている。Last Track Resumeというアドオンが気に入ってるんだけど、まさしく一つの「Track」しかレジューム再生してくれなくて、「アルバムを再生中、現在○曲目」というような状態を復元してくれないのがもの足りない。そういう所にこだわりはないのかねえ。
Songbirdのシャッフル再生とはランダム再生のことです。
♭ charlieはじめまして。 ちゃありいと申します。 用件だけ述べさせて頂きます。 Songbirdの Playlist Exp..
♭ ds14050自分も HTMLや JavaScriptがわかるだけで XULはさっぱりですが、わかることなら。 Songbird..
♭ charlieお忙しい中、お返事有難う御座いました。 メールで頂けるかと思ってこちらのチェックはしておりませんでした。 自己解決..