トップ «前の日(12-18) 最新 次の日(12-20)» 追記

あしたに日記[RSS]

Wiki/Bookmark/Top


2004-12-19

長野へ

知り合いの若者が事故ったので長野まで見舞いに。

骨折で2ヶ月入院とのことなので、文庫本を10冊ほど買い込んで持っていった。いや、ほんとうは任天堂DSでも買っていってやりたかったのだが、そんな財力はないのでな。

車同士の正面衝突で、相手は無傷で自分は足を骨折、というので
済んでいるのが不幸中の幸い。


2007-12-19

Songbird

Songbird
曲管理に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
本日のツッコミ(全2件) [ツッコミを入れる]

カワモト [iTunesやったらあかんのん?]

あし [手元の曲にwmaが結構な割合で混じってまして。iTunesだとAACに変換しないといけないんじゃなかったでしたっけ。]