iPhoneと違ってAndroidにはiTunes的なものがない.したがって,PCのプレイリストと端末内のプレイリスト(およびライブラリ)との同期は基本的に手動で行わなければならない.
自分はUbuntuユーザーなので,BansheeのプレイリストとAndroid端末内の音楽ライブラリをrsyncで同期する方法を考えた.
Bansheeのプレイリストをエクスポートすると,~/Musicからの相対パスが書かれたM3Uファイルが出力される.これをrsyncの--files-fromオプションに食わせてやればよい.
まずは ~/Music まで移動しておく.そしてターミナルから次を実行(Android端末内のMusicディレクトリは /media/1234-5678/Music にマウントされていると仮定):
$ rsync --update --files-from=myplaylist.M3U . /media/1234-5678/Music
これでM3Uファイルにあるファイルが必要な分だけコピーされる.
この手順をもっと簡単に行うためPythonでラッパーを書いた.
こんな感じで使える.(例によって ~/Music まで移動しておく必要がある)
$ python3 plrsync.py myplaylist.M3U /media/1234-5678/Music
1回目で rsync を '--dry-run' オプション付きで実行し,コピーするファイルがあるかどうかをチェックする.コピーするファイルがあったら,ユーザーにこの通りコピーしていいか聞く.yesなら '--dry-run'なしでrsyncを本実行する.最後にプレイリスト本体をrsyncする.