iTunesライブラリ(+Apple Book)のメディアから楽曲(mediaKind=ITLibMediaItemMediaKindSong)のみ抽出してタイトルを取得するAppleScriptです。
iTunesLibrary.framework経由でメデイアアイテムの情報にアクセスするため、iTunes.appが起動していてもいなくても関係ありません。開発環境のマシン(MacBook Pro Retina 2012 Core i7 2.66GHz)でiTunesに6,871曲の楽曲が存在している状態で0.02秒程度です。
Scriptの末尾で配列の大きさを取得しているのは、タイトルのリストをそのままスクリプトエディタの「結果」欄に出力させると、数千項目にもなる結果データをスクリプトエディタが受信するのに余計に時間がかかるので、ダミーで計算させたものです。
iTunes.appとプロセス間通信していないため、macOS 10.14でSecurityダイアログが表示されることもありません。
AppleScript名:iTunesライブラリ中の楽曲のみしぼりこんでtitle取得.scptd |
— Created 2018-10-16 by Takaaki Naganoya — 2018 Piyomaru Software use AppleScript version "2.4" use scripting additions use framework "Foundation" use framework "iTunesLibrary" property ITLibrary : a reference to current application’s ITLibrary property NSPredicate : a reference to current application’s NSPredicate set library to ITLibrary’s libraryWithAPIVersion:"1.0" |error|:(missing value) if library is equal to missing value then return set playLists to library’s allPlaylists() set gArray to (library’s allMediaItems()) set aPredicate to NSPredicate’s predicateWithFormat:"self.mediaKind = 2" –ITLibMediaItemMediaKindSong set filteredArray to gArray’s filteredArrayUsingPredicate:aPredicate set tList to (filteredArray’s title) as list –> {"Wait & See~リスク~", "Can You Keep A Secret?", "DISTANCE", "サングラス", "ドラマ", "Eternally", "Addicted To You (UP-IN-HEAVEN-MIX)"…} set tLen to length of tList –> 7010 |
More from my site
(Visited 54 times, 1 visits today)