(Linux)Banshee/Rythmboxのインターネットラジオ一覧とPlayList(PLS)の間でインポート/エクスポート

softdown-icon-linux-tux.png Banshee/Rhythmboxのインターネットラジオ一覧をimport/export
Banshee/Rhythmbox internet radio import/export (Perl Script)


戻る一つ前のメニューに戻る

Ubuntuの標準メディアプレーヤのBansheeとRhythmboxで、インターネットラジオ一覧のインポート/エクスポートが出来無い。他のマシンに設定を移行するためにも、インポート/エクスポート機能を実現すべきということで、間に合わせのスクリプトを作ってみた。

なお、ここに掲載しているPerlスクリプトは私の環境で動く程度の動作状況していないため、エラー発生する可能性があることを十分承知してください。

目次

ソフトウエアのダウンロード

soft-ico-download.gif PerlソースコードをSubversionブラウザよりダウンロード


Rhythmbox

Ubuntu 10.04, 12.04の標準メディアプレーヤ。Playlist(PLS形式)のインポートには対応しているが、エクスポートできない。

rhythmbox-iradio-export.pl

RhythmboxのXML形式設定ファイル~/.local/share/rhythmbox/rhythmdb.xmlから、type=iradioのものを標準出力に書き出します。パイプ出力でPlayListファイルに書きこんでください。

Rhythmboxのデータファイル rhythmdb.xml 形式の例

<?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>
〜以下省略〜

エラー、バグ回避方法

  • rhythmbox-iradio-import.plでのインポート時エラー
プレイリストに何も登録されていない状態ではエラーとなる(rhythmdb.xmlが存在しない場合と、rhythmdb.xmlのentry数が2未満のとき)。適当なmp3ファイルをプレイリストに2個以上登録してからこのスクリプトを実行する。
  • "could not find ParserDetails.ini"が出力される
XML::Simpleライブラリの内部で参照されているParserDetails.iniが存在しない。ルート権限でperl -MXML::SAX -e "XML::SAX->add_parser(q(XML::SAX::PurePerl))->save_parsers()"を実行してParserDetails.iniを作成する。

Banshee

Ubuntu 10.10より標準メディアプレーヤになった。Playlistのインポート対応していないが、不完全な形でエクスポートには対応している。

banshee-iradio-export.pl

Bansheeの設定ファイルはSQLite形式で~/.config/banshee-1/banshee.dbに保存されている。CorePrimarySourcesテーブルでStringID=InternetRadioSource-internet-radioのPrimarySourceIDを取得し、CoreTracksテーブルよりPrimarySourceIDが一致する行をPlaylistに出力するスクリプト。

banshee-iradio-import.pl

CoreTracksテーブルにPlaylistを書き込むスクリプト。


動作確認済み

  • Ubuntu 10.04
  • Ubuntu 11.10


バージョンアップ情報

  • Version 0.1 (2012/03/06)


使用許諾条件

GNU GPL フリーソフトウエア

戻る一つ前のメニューに戻る