トップ «前の日記(2007-12-17) 最新 次の日記(2007-12-26)» 編集

あしたに日記[RSS]

Wiki/Bookmark/Top


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件) [ツッコミを入れる]
カワモト (2007-12-24 01:30)

iTunesやったらあかんのん?

あし (2007-12-24 16:25)

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