iTunesのライブラリにある音楽ファイルをClarionのカーナビにインポートしようと思います。
Clarionのカーナビは
アーティスト名のフォルダ - アルバム名のフォルダ - 曲名のファイル
のようなフォルダ構造でインポートしなければなりません。
まずはiTunesでプレイリストを作成します。
それを右クリックして「プレイリストをエクスポート...」するとテキスト形式のリストが出力できます。
これを使ってClarion形式のフォルダ構造を作ることにします。
私の環境はWindows上のVirtualBox+Ubuntuなので、こんな感じのスクリプトになりました。
iTunesバージョンが変わるとエクスポートされるテキストファイルのフォーマットが微妙に変わったりするので注意が必要です。
私は8.1.1.10で動作確認しました。
それを右クリックして「プレイリストをエクスポート...」するとテキスト形式のリストが出力できます。
これを使ってClarion形式のフォルダ構造を作ることにします。
私の環境はWindows上のVirtualBox+Ubuntuなので、こんな感じのスクリプトになりました。
#!/bin/sh
# iTunesのプレイリスト(プレイリストを右クリックして「プレイリストをエクスポート...」)から
# Clarionのカーナビのファイルキャッチャー用のフォルダ構造を生成し、
# 音楽ファイルをコピーする。
#
# ファイルキャッチャー用のフォルダ構造は次の通り。
# アーティスト名のフォルダ - アルバム名のフォルダ - 曲名のファイル
if [ $# -ne 4 ];
then
echo "使用法: $0 list win_dir unix_dir out_dir"
echo " list"
echo " iTunesからエクスポートしたプレイリスト(txt形式)"
echo " win_dir"
echo " iTunesのmusicフォルダのwindowsパス"
echo " (このフォルダ直下にアーティスト名のフォルダが存在)"
echo " unix_dir"
echo " iTunesのmusicフォルダのunixパス(windowsから共有)"
echo " (このフォルダ直下にアーティスト名のフォルダが存在)"
echo " out_dir"
echo " ファイルのコピー先"
echo ""
echo "例: $0 お気に入り.txt d:/iTunes $HOME/.gvfs/iTunes@10.0.2.2 out"
exit
fi
if [ ! -e "$1" ];
then
echo "ファイルが存在しません: $1"
exit
fi
if [ ! -d "$3" ];
then
echo "ディレクトリが存在しません: $3"
exit
fi
list=$1
win_dir=$2
unix_dir=$3
out_dir=$4
tmp1=$(mktemp temp.XXXXXX)
tmp2=$(mktemp temp.XXXXXX)
tmp3=$(mktemp temp.XXXXXX)
# utf-8変換
nkf -w $list > $tmp1
# ヘッダ行を削除、レコードごとに改行、区切り文字を@@に変更、パス区切りを/に変更
sed -e"s/.*場所 //" -e "s/\(\.\(mp3\|wma\|m4a\)\) /\1\n/g" -e "s/\t/@@/g" -e "s_\\\_/_g" $tmp1 > $tmp2
# レコードからアーティスト名、アルバム名、曲名、音楽ファイルパスを抽出
gawk -F @@ '{print $2 "\n" $4 "\n" $1 "\n" $27}' $tmp2 > $tmp3
# ファイルを読む
exec 3< $tmp3
while read artist 0<&3
do
read album 0<&3
mkdir -p "$out_dir/$artist/$album"
read name 0<&3
read file 0<&3
file=$(echo $file | sed -e "s!$win_dir!$unix_dir!i")
filename=$(basename "$file")
filename=$(echo $filename | sed -e "s/^[0-9][0-9] //")
ext=$(echo $file | sed -e "s/.*[^.].*\.\([^.]*\)$/\1/")
if [ $ext = "mp3" -o $ext = "m4a" ];
then
echo "copying file..."
echo " from: $file"
echo " to: out/$artist/$album/$filename"
cp -T "$file" "out/$artist/$album/$filename"
fi
done
rm temp.*
iTunesバージョンが変わるとエクスポートされるテキストファイルのフォーマットが微妙に変わったりするので注意が必要です。
私は8.1.1.10で動作確認しました。
2 件のコメント:
برنامج حسابات
برنامج erp
برنامج محاسبة
برنامج مخازن
At Risala Furniture and Interiors LLC, we specialize in providing top-quality furniture, carpets, rugs, curtains, blinds, and flooring solutions across Dubai, Abu Dhabi, and the UAE. Whether you’re looking to buy a modern furniture set or elegant carpets, we cater to both residential and commercial spaces. Our extensive range ensures that you’ll find the perfect decor for your home or office at the best price. Carpets dubai - Carpets abu Dhabi - Carpenter Dubai
_______________________________
コメントを投稿