foobar2000 と iTunes のレーティングを同期させる (イケてないけれど)
foobar2000 だと,音楽ファイルにカスタムタグ RATING を埋め込んで,それでレーティング情報を格納できる.一方,iTunes だと,iTumes のデータベースにレーティングを格納しているみたい.また,カスタムタグを読み込むことが出来ない.あと,iTunes は,iTunes のリストから曲を外すとレーティングが消えるよね.イケてない.
そこで,音楽を元の場所におきつつ,レーティング別のディレクトリを作って,そこにスタティックリンクを貼ることにした.基本 foobar2000 でレーティング付けをして,iTunes がファイルを読む順序をレーティング別にすることで,順々に iTunes のレーティングを付けることとする.
やったことは以下の通り.状況としては,音楽ファイルがとある計算機の samba 上においてあって,別の計算機で音楽を聴いたりしたい.あと,レーティングは 1 ~ 5 の 5 段階.
- foobar2000 でレーティング別にプレイリストを作って,ファイルに保存する
- ファイル名は "rating[1-5].txt"
- ファイルの中身を samba が動いている計算機上のパスに置換する
- 下のシェルを実行
#!/bin/sh for i in 1 2 3 4 5; do mkdir -p "__R${i}" while read file; do file="`basename "${line}"`" if [ ! -f "${line}" ]; then echo "file not found: ${line}" continue fi if [ -f "__R${i}/${file}" ]; then continue fi ln "${line}" "__R${i}/${file}" done < "rate${i}.txt" done