知り合いの若者が事故ったので長野まで見舞いに。
骨折で2ヶ月入院とのことなので、文庫本を10冊ほど買い込んで持っていった。いや、ほんとうは任天堂DSでも買っていってやりたかったのだが、そんな財力はないのでな。
車同士の正面衝突で、相手は無傷で自分は足を骨折、というので
済んでいるのが不幸中の幸い。
曲管理にSongbirdを導入した。
予想以上によくできている。若干バギーだがまあプレイリスト編集して
BGMで流すぐらいなら全然問題ない。
ライブラリからポータブルプレイヤーにシャッフルで流し込みたいな。
APIもあるようだけど、sqliteらしいからデータベースを
直に見ちゃえばいいか。
楽曲の実体リストを取ってきてシャッフルしてコピーするだけ。えいっ、でっちあげ。USB転送が遅いのでこちらを参考にブロックサイズ変更。
require 'sqlite3'
require 'FileUtils'
require 'uri'
require 'kconv'
DATABASE_LOCATION='C:\Docume~1\ほげほげ\Applic~1\
Songbird1\Profiles\ほげほげ\db\main@library.songbirdnest.com.db'
DEST='F:/USBデバイスの場所'
#ブロックサイズ指定
module FileUtils
module StreamUtils_
def fu_default_blksize
1024 * 1024
end
end
end
#フォルダ全消去
begin
FileUtils.remove_entry(DEST)
rescue #強引だなあ...。
end
FileUtils.mkdir(DEST)
#データベースから曲名抜き出し
db = SQLite3::Database.new(DATABASE_LOCATION)
songs=db.execute('select content_url from media_items where media_list_type_id is NULL')
#ソートして順次コピー
songs.sort_by{rand}.each do |x|
src=URI.unescape(x[0].sub(/file\:\/\/\//,"")).tosjis
puts src
begin
FileUtils.cp(src,DEST)
rescue #いっぱいになったらエラーくるでしょ?(強引だ...)
break
end
end
○ カワモト [iTunesやったらあかんのん?]
○ あし [手元の曲にwmaが結構な割合で混じってまして。iTunesだとAACに変換しないといけないんじゃなかったでしたっけ。]