2013年6月21日金曜日

LAME mp3エンコーダーを使う(3)

前回に続いてAppleScriptでLAME mp3エンコーダーの繰り返し(=バッチ)処理する手順を説明する。

今回は曲情報をLAME MP3 エンコーダーの入力ファイル名と出力ファイル名に加工する手順である。前回 trackTagList 変数にiTunesのプレイリスト上で選択されたアイテムの曲情報が格納されたので、そこから話を続ける。

repeat with aTrackTag in trackTagList(1)
    set anInputPath to (quoted form of (POSIX path of item 15 of aTrackTag))(2)
    set anTrackNumber to (item 7 of aTrackTag) as number(3)
    set aTrackCount to (item 9 of aTrackTag) as number
    if aTrackCount = 0 then
        say TrackCountError
        set errorFlag to true
        exit repeat
    else if aTrackCount ≤ 99 then
        set aTrackNumber to text -2 thru -1 of ("00" & aTrackNumber)(4)
        set aTrackNumber to aTrackNumber & " "
    else
        set aTrackNumber to text -3 thru -1 of ("000" & aTrackNumber)(4)
        set aTrackNumber to aTrackNumber & " "
    end if
    set anOutputName to anTrackNumber & (item 1 of aTrackTag) & ".mp3"(5)
    set anOutputPath to quoted form of ((POSIX path of outputPath) & anOutputName)(6)
end repeat(7)
  1. trackTagList の1項目を aTrackTag として呼び出す繰り返し処理の開始
  2. aTrackTag の15番目の項目(入力ファイルの場所)をUNIX形式かつクオートで囲んだ状態で取得
  3. aTrackTag の7番目の項目(曲番号)を anTrackNumber として取得
  4. 曲番号( anTrackNumber )の桁揃え処理。(Thanks for 鳶嶋工房
  5. 曲番号と曲名をつなげて出力するファイル名に加工
  6. あらかじめ定義したファイルの出力場所(次回説明)とファイル名をつなげ、クオートで囲んだ状態で outputPath 変数に格納
  7. trackTagList についての繰り返し処理終了

これで anInputPath と anOutputPath に入力ファイルの場所パスと出力ファイルパスが格納された状態となった。次回はこれらを用いてLAME MP3 エンコーダーでエンコードする手順を説明する。

2015.1.1改訂

  1. 曲番号桁揃え処理を変更。
  2. AppleScriptコードの見栄えを改良

0 件のコメント :

コメントを投稿