iTunesで複数の曲のチェックマークをつける/はずす
iTunesの曲をAAC/AIFF/Appleロスレス/MP3/WAVに変換する
iTunesの曲の再生回数を変更する
iTunesの曲のマイレートを変更する
iTunesの曲の「最後に再生した日」を変更する
iTunesの曲の「並べ替え」を編集する
iTunesでPodcastの「説明」「長い説明」を編集する
iTunesで現在再生している曲をフェードアウトで終了させて次の曲を再生する
iTunesの曲のアートワークを「プレビュー」で表示する
iTunesの曲のアートワークを保存する
iTunesの曲の追加日を変更する
★ iTunesで複数の曲のチェックマークをつける/はずすアップルスクリプト
チェックがついているものははずれ、ついていないものはつきます。
tell application "iTunes" set seltrack to selection of window 1 repeat with x in seltrack if enabled of x is true then set enabled of x to false else set enabled of x to true end if end repeat end tell
★ iTunesの曲をAAC/AIFF/Appleロスレス/MP3/WAVに変換するアップルスクリプト
ビットレートなどの細かい設定はiTunesの「環境設定」での設定値に従います。
tell application "iTunes" set seltrack to a reference to selection as list set enc to choose from list (format of encoders as list) with prompt "変換" without multiple selections allowed if enc is false then return set enc to item 1 of (encoders whose format is (item 1 of enc)) set current encoder to enc try convert seltrack end try end tell
★ iTunesの曲の再生回数を変更するアップルスクリプト
数値選択式か数値入力式、使いやすい方を。
--数値選択式はこちら tell application "iTunes" try set trk to {} set slct to a reference to selection if slct as list is {} then return repeat with x in slct set end of trk to (name of x as Unicode text) & (" (" & played count of x & ")") end repeat set AppleScript's text item delimiters to ", " set y to choose from list {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20} with prompt ((trk as Unicode text) & " の再生回数を変更") if y is false then return set played count of slct to y end try end tell --数値入力式はこちら tell application "iTunes" try set trk to {} set slct to a reference to selection if slct as list is {} then return repeat with x in slct set end of trk to (name of x as Unicode text) & (" (" & played count of x & ")") end repeat set AppleScript's text item delimiters to ", " set y to text returned of (display dialog ((trk as Unicode text) & " の再生回数を変更") default answer "") if y is false then return set played count of slct to y end try end tell
★ iTunesの曲のマイレートを変更するアップルスクリプト
tell application "iTunes" try set trk to {} set slct to a reference to selection if slct as list is {} then return repeat with x in slct set end of trk to (((name of x as Unicode text) & " (" & (rating of x) div 20)) & ")" end repeat set AppleScript's text item delimiters to ", " set y to choose from list {0, 1, 2, 3, 4, 5} with prompt ((trk as Unicode text) & " のレートを変更") if y is false then return set rating of slct to (y * 20) end try end tell
★ iTunesの曲の「最後に再生した日」を変更するアップルスクリプト
--最後に再生した日を変更 tell application "iTunes" set seltrack to a reference to selection repeat with x in seltrack set pldate to ((played date) of x as string) if pldate is "missing value" then set pldate to (current date) as string set newdate to text returned of (display dialog "最後に再生した日を変更" default answer pldate) set (played date) of x to date newdate end repeat end tell
★ iTunesの曲の「並べ替え」を編集するアップルスクリプト
並べ替え(ソート、よみがな)が導入されたiTunes7.1以降で動きます。アルバム、アーティストの並べ替えを一括して編集したいときに。
--並べ替えを編集 tell application "iTunes" set seltrack to a reference to selection set dd to (display dialog "並べ替え" default answer (artist of item 1 of seltrack as Unicode text) buttons {"Cancel", "Album", "Artist"}) set textret to text returned of dd set alar to button returned of dd set psid to {} repeat with x in seltrack set end of psid to persistent ID of x end repeat repeat with y in psid set x to item 1 of (tracks of (view of window 1) whose persistent ID is y) if alar is "Artist" then set (sort artist) of x to (textret as Unicode text) if alar is "Album" then set (sort album) of x to (textret as Unicode text) end repeat end tell
★ iTunesでPodcastの「説明」「長い説明」を編集するアップルスクリプト
tell application "iTunes" set seltrack to a reference to selection repeat with x in seltrack --操作 set olddes to description of x set oldlon to long description of x set newdes to (display dialog (name of x) & return & "説明を変更" default answer olddes buttons {"キャンセル", "飛ばす", "OK"} default button 3) if button returned of newdes is "OK" then set description of x to text returned of newdes set newlon to (display dialog (name of x) & return & "長い説明を変更" default answer oldlon buttons {"キャンセル", "飛ばす", "OK"} default button 3) if button returned of newlon is "OK" then set long description of x to text returned of newlon end repeat end tell
★ iTunesで現在再生している曲をフェードアウトで終了させて次の曲を再生するアップルスクリプト
なんか用途はあるかな?
tell application "iTunes" try set currentvolume to (volume adjustment) of current track delay 1 set gain to -5 repeat until gain < -100 set (volume adjustment) of current track to currentvolume + gain delay 0.1 set gain to gain - 5 end repeat delay 1 pause set (volume adjustment) of current track to currentvolume play (next track) end try end tell
★ iTunesの曲のアートワークを「プレビュー」で表示するアップルスクリプト
プレビューはアップルスクリプト未対応なのでコマンドNの動作を再現。例によって実行前のクリップボードの中身は一旦変数に保存して戻します。
--アートワークをプレビューで表示 set cb to the clipboard as record tell application "iTunes" set seltrack to a reference to selection set theartwork to data of artwork 1 of item 1 of seltrack set the clipboard to theartwork end tell tell application "System Events" tell application "Preview" to activate repeat if (visible of process "Preview") is true then exit repeat end repeat tell application process "Preview" delay 1 keystroke "n" using command down delay 1 end tell end tell set the clipboard to cb
★ iTunesの曲のアートワークを保存するアップルスクリプト
曲のアートワークを任意のフォルダに保存するスクリプト。JPEG、PNGが保存可能。他のソフトによって埋め込まれたBMPなどには非対応。
--アートワークを保存 tell application "iTunes" set seltrack to a reference to selection set savefolder to (choose folder with prompt "アートワークの保存場所を指定") repeat with x in seltrack set {theartist, thealbum, ext} to {artist of x, album of x, ""} repeat with y from 1 to (count artworks of x) set err to 0 try set theartwork to raw data of artwork y of x set theformat to format of artwork y of x as string if theformat contains "JPEG" then set ext to ".jpg" if theformat contains "PNG" then set ext to ".png" if ext is "" then display dialog theartist & " ¥"" & thealbum & "¥" " & "のアートワークは書き出せません。" set err to 1 end if on error display dialog theartist & " ¥"" & thealbum & "¥" " & "にはアートワークがありません。" set err to 1 end try if err is 0 then set thefilename to theartist & " - " & thealbum & " " & y & ext if character 1 of thefilename is "." then set thefilename to "_" & characters 2 thru -1 of thefilename set newfilename to "" repeat with ltr in thefilename set ltr to ltr as string if ltr is "/" or ltr is ":" then set ltr to "_" set newfilename to newfilename & ltr end repeat try tell application "Finder" to make new file at savefolder with properties {name:newfilename} on error tell application "Finder" if (exists of (((savefolder as string) & newfilename) as alias)) is true then tell application "iTunes" set skipreplace to button returned of (display dialog theartist & " ¥"" & thealbum & "¥" " & "と同じ名前のファイルがすでにあります。" buttons {"キャンセル", "置き換え", "スキップ"} default button 3) end tell end if if skipreplace is "スキップ" then set err to 1 end tell end try end if if err is 0 then set thefile to ((savefolder as string) & newfilename) as alias open for access thefile with write permission write theartwork to thefile close access thefile end if end repeat end repeat end tell
OSX 10.4で上のがだめな場合、下のを
--アートワークを保存 10.4 tell application "iTunes" set seltrack to a reference to selection repeat with x in seltrack set {theartist, thealbum, ext} to {artist of x, album of x, ""} set savefolder to (choose folder with prompt theartist & " ¥"" & thealbum & "¥" " & "のアートワークの保存場所を指定") repeat with y from 1 to (count artworks of x) set err to 0 try set theartwork to data of artwork y of x set theformat to format of artwork y of x as string if theformat contains "JPEG" then set ext to ".jpg" if theformat contains "PNG" then set ext to ".png" if ext is "" then display dialog theartist & " ¥"" & thealbum & "¥" " & "のアートワークは書き出せません。" set err to 1 end if on error display dialog theartist & " ¥"" & thealbum & "¥" " & "にはアートワークがありません。" set err to 1 end try if err is 0 then set thefilename to theartist & " - " & thealbum & " " & y & ext if character 1 of thefilename is "." then set thefilename to "_" & characters 2 thru -1 of thefilename set newfilename to "" repeat with ltr in thefilename set ltr to ltr as string if ltr is "/" or ltr is ":" then set ltr to "_" set newfilename to newfilename & ltr end repeat try tell application "Finder" to make new file at savefolder with properties {name:newfilename} on error tell application "Finder" if (exists of (((savefolder as string) & newfilename) as alias)) is true then tell application "iTunes" set skipreplace to button returned of (display dialog theartist & " ¥"" & thealbum & "¥" " & "と同じ名前のファイルがすでにあります。" buttons {"キャンセル", "置き換え", "スキップ"} default button 3) end tell end if if skipreplace is "スキップ" then set err to 1 end tell end try end if if err is 0 then set thefile to ((savefolder as string) & newfilename) as alias open for access thefile with write permission write theartwork to thefile set theartwork to read thefile from 223.0 set eof of thefile to 0 write theartwork to thefile close access thefile end if end repeat end repeat end tell
★ iTunesの曲の追加日を変更するアップルスクリプト
曲をiTunesから一旦削除し、システムの日時を戻し、再びiTunesに登録するという一連の作業を自動化したものです。システムの日時は曲ファイルの作成日+1分を基準に設定しています。1曲単位または1アルバム単位で選択して作業してください。
チェックマーク、レート、再生回数、最後に再生した日、iTunesがダウンロードしたアートワークなどが消えてしまうのでご注意ください。
--change added date property logpass : "<< login password >>" --OSXのログイン用のパスワードを書きます --曲を選択 tell application "iTunes" set slct to a reference to selection if slct as list is {} then return set x to (item 1 of slct) set loc to location of x end tell --ファイル作成日時を取得 tell application "Finder" to set loc_date to creation date of loc set cr_date to text returned of (display dialog "" default answer loc_date as Unicode text) set cr_date to (date cr_date) as date set crmo to month of cr_date as number if crmo < 10 then set crmo to "0" & crmo set crda to day of cr_date if crda < 10 then set crda to "0" & crda set crho to hours of cr_date if crho < 10 then set crho to "0" & crho set crmi to (minutes of cr_date) + 1 if crmi < 10 then set crmi to "0" & crmi set crye to year of cr_date set cr_date to crmo & crda & crho & crmi & crye as Unicode text --システム日時を変更 do shell script "echo '" & logpass & "' | sudo -S date " & cr_date --曲を一旦削除 tell application "iTunes" to delete selection delay 1 --ファイルを再度追加 tell application "Finder" set slctloc to items in container of loc end tell tell application "iTunes" repeat with x in slctloc add x as alias end repeat end tell