アルバム アートワークを管理するために AppleScript を作成しています。選択したトラックに含まれるすべてのアートワークを削除するコードを書き込もうとしています (iTunes トラックには最大 30 個のアートワーク オブジェクトを含めることができます)。これは、iTunes でトラックを選択し、[情報を見る] ウィンドウを開き、(空白の) アートワーク ボックスをチェックするのと同じです。
例として、動作すべきコード:
tell application "iTunes" to set t to track 1 of playlist "Example Playlist"
tell t to delete every artwork
最初のアートワークのみを削除する構文は次のようになります。tell t to delete artwork 1
残念ながら、AppleScript は連携していません。トラックに 2 つのアートワークがある場合、最初のアートワークのみが削除されます。トラックにアートワークが 3 つある場合、最初の 2 つが削除されます。
これは、削除コマンドの実行中にアートワーク インデックスが変更される問題のようです (つまり、2 つのアートワークを含むトラックの場合、アートワーク 1 は正常に削除されますが、アートワーク 2 を削除しようとすると、名前が変更されているため見つかりません)。元のアートワーク 1 が削除されたときにアートワーク 1 に)。ユーザー定義のリストでは機能しないように見えるため、指定子を強制的にリストに入れようとしてevery artwork
も (元に戻すことができるように) 機能しません。delete
私が間違っていることを誰かが知っていますか?リピート ループを使用して、トラック内のすべてのアートワークを繰り返し処理し、それぞれを個別に削除できることはわかっていますが、これは AppleScript の単純さの試みに反しているようです。私はどういうわけevery
かステートメントを誤用していますか?