![]() |
Banshee/Rhythmboxのインターネットラジオ一覧をimport/export Banshee/Rhythmbox internet radio import/export (Perl Script) |
Ubuntuの標準メディアプレーヤのBansheeとRhythmboxで、インターネットラジオ一覧のインポート/エクスポートが出来無い。他のマシンに設定を移行するためにも、インポート/エクスポート機能を実現すべきということで、間に合わせのスクリプトを作ってみた。
なお、ここに掲載しているPerlスクリプトは私の環境で動く程度の動作状況していないため、エラー発生する可能性があることを十分承知してください。
目次 |
Ubuntu 10.04, 12.04の標準メディアプレーヤ。Playlist(PLS形式)のインポートには対応しているが、エクスポートできない。
RhythmboxのXML形式設定ファイル~/.local/share/rhythmbox/rhythmdb.xml
から、type=iradio
のものを標準出力に書き出します。パイプ出力でPlayListファイルに書きこんでください。
<?xml version="1.0" standalone="yes"?> <rhythmdb version="1.6"> <entry type="iradio"> <title>181.FM - Power 181 (Top 40) (128)</title> <genre>pop top 40 rock</genre> <artist></artist> <album></album> <location>http://sc-rly.181.fm:80/stream/1023</location> <play-count>28</play-count> <last-played>1296308169</last-played> <bitrate>128</bitrate> <date>0</date> <mimetype>application/octet-stream</mimetype> </entry> <entry type="iradio"> <title>Europa FM Romania</title> <genre>Ac</genre> <artist></artist> <album></album> <location>http://89.238.252.146:7000</location> <play-count>1</play-count> <last-played>1294403522</last-played> <date>0</date> <mimetype>application/octet-stream</mimetype> </entry> 〜以下省略〜
perl -MXML::SAX -e "XML::SAX->add_parser(q(XML::SAX::PurePerl))->save_parsers()"
を実行してParserDetails.iniを作成する。
Ubuntu 10.10より標準メディアプレーヤになった。Playlistのインポート対応していないが、不完全な形でエクスポートには対応している。
Bansheeの設定ファイルはSQLite形式で~/.config/banshee-1/banshee.db
に保存されている。CorePrimarySources
テーブルでStringID=InternetRadioSource-internet-radio
のPrimarySourceIDを取得し、CoreTracks
テーブルよりPrimarySourceIDが一致する行をPlaylistに出力するスクリプト。
CoreTracks
テーブルにPlaylistを書き込むスクリプト。
GNU GPL フリーソフトウエア