2005年 12月 28日 (水)

シャッフル転送

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")
		}
	}
}'

QRcode Tweet

このページの半分はフィクションです。もし同一の名称があった場合も,実在の人物・団体・事件などとはあんまり関係ありません。
今まで(現在も)、ハードディスクなiPodを利用して来た訳ですが、PodCastにハマっている最近は、もう、シリコンオーディオでいいかなぁ?って考えているところです。でも、選曲機能は捨てられないので、iPod nanoかなぁ〜とか思っています。Podcastは、電車の中でとてもいい時間つぶしになります。確かにVideo見てるのも魅力的なんだけど〜。いまいち本当に見るのかなぁって思っています。スポットなら、今年か?来年ぐらいテレビの見れる携帯とか買うかもね?(デジタル対応、なんていうんだっけ?を、買わないかもね〜?) (2006/01/05 14:44:13) ○
CAPTCHA

[月インデックス] [単語インデックス] [コメントインデックス] [画像インデックス]
[TAKEchonNET] → [大いなる疲労の告知]
Donate us![TAKEchonNET]