シャッフル転送
2005年12月06日には iPod が欲しかったワケだが,
2005年12月19日には冷めてしまって 128M でイケるかも? やっぱ,USB ストレージで自由なプレーヤーがいいや! と *完全* に醒めてしまっている。
と,唐突に iTunes を起動せずともシャッフルコピーするスクリプトを書こうと思いつく。が,そんなスクリプトは既にどこかにあるだろうと探してみる。
http://blog.float.co.jp/category/624667.html
ははぁ…。awk で書きましたか…。僕は sed,awk は使えない人なのだが,パスをちょちょいと書き換えて流用する。
ホームディレクトリを一掃して MP3 をランダムに抽出するワケで iTunes 管理外のデータも引っかけてきたりして,なかなかに新鮮。
も少し大容量 (と言っても 512MB で充分) の USB ストレージになるプレーヤが欲しくなってきたぞ…。
#!/bin/sh
find /Users/take -name "*.mp3" -print | awk -v tgt_music_num=$1 '
BEGIN {
flash_mount = "/Volumes/RioSU10"
rio_music_path = "/Music"
rio_music_file_prefix = "Music"
tgt_music_path = flash_mount rio_music_path
default_tgt_music_num = 25
#
if(tgt_music_num == "") {
tgt_music_num = default_tgt_music_num
}
src_music_num = 0
while(getline > 0) {
music_files[NR] = $0
src_music_num++
}
#
# Make random number list
#
srand()
for(ci = 1; ci <= src_music_num; ci++) {
do
randnum = int(src_music_num * rand())
while(randnum in order_list)
order_list[randnum] = ci
}
#
# Delete previous files and copy files
#
system("rm " tgt_music_path "/*")
#
for(ci = 0; ci < tgt_music_num; ci++) {
if(ci in order_list) {
file_suffix = sprintf("%03d", ci + 1)
system("cp \"" music_files[order_list[ci]] "\" " tgt_music_path "/" rio_music_file_prefix file_suffix ".mp3")
}
}
}'
今まで(現在も)、ハードディスクなiPodを利用して来た訳ですが、PodCastにハマっている最近は、もう、シリコンオーディオでいいかなぁ?って考えているところです。でも、選曲機能は捨てられないので、iPod nanoかなぁ〜とか思っています。Podcastは、電車の中でとてもいい時間つぶしになります。確かにVideo見てるのも魅力的なんだけど〜。いまいち本当に見るのかなぁって思っています。スポットなら、今年か?来年ぐらいテレビの見れる携帯とか買うかもね?(デジタル対応、なんていうんだっけ?を、買わないかもね〜?) (2006/01/05 14:44:13) ○