AppleScriptを質問 - プレイリストにトラックを追加します
-
22-08-2019 - |
質問
まじめな話、私もこれを尋ねることが恥ずかしいます。
私は、アルバム全体の束のプレイリストを構築することになっているAppleScriptを持っています。すべては実際にプレイリストに曲を追加することを除いて、正常に動作します。ここでは、関連するコードがあります:
repeat with theAlbum in randAlbums
set these_tracks to (tracks of library playlist 1 whose album is theAlbum)
repeat with the_track in these_tracks
add the_track to playlist thePlaylist (* doesn't work *)
end repeat
end repeat
私が手にエラーが「iTunesがエラーを得た。:ディスクリプタ型の不一致が発生しました」です。
randAlbumsユニークなアルバム名のリストである、とthePlaylistは、以前のスクリプトで作成されたプレイリストである。
私は週のように感じている何のためにこれに対する私の頭を叩いてきたと私はそれを把握することができていません。あなたが提供することができますどのような援助を事前に感謝:)
解決
重複はしたいコマンドです。これを試してください:
repeat with theAlbum in randAlbums
duplicate (tracks of library playlist 1 whose album is theAlbum) to thePlaylist
end repeat
iTunesのインターフェースadd
内duplicate
はプレイリスト内の既存のトラックへの参照を配置するために使用されている間、ファイルシステムパスを使用してiTunesライブラリに新しいトラックを追加するために使用されます。
iTunesが最終的にトラックがすでにライブラリの一部であることを把握し、あなたがやりたいことではなくなり、アルバムアートの検索のためのスケジュールを、などこのすべてあなたは多数のトラックのためのループ内でそれを使用しているので、もしかなり遅い操作にのぼるiTunesがクロールに遅くなります。
の重複は、ネイティブデータベースルックアップを実行し、それは非常に高速であるので、一度にすべてのプレイリストに結果を追加します。
他のヒント
にその行を変更してみてください
add (get location of the_track) to playlist thePlaylist
または、thePlaylist
は既に(代わりに、プレイリストのちょうど文字列名の)プレイリストの参照である場合:
add (get location of the_track) to thePlaylist
AppleScriptを本当に奇妙です...しかし、スクリプトをチェックアウトここdougscripts.com の
彼はがプレイリストに追加するとき、のの追加を複製していない使用していますように見えます。私は
のスクリプトから 1曲で探しています>うーん...方法について?
add (a reference to the_track) to playlist thePlaylist
試します:
copy the_track to end of playlist thePlaylist
の代わります。