iTunesを実行せずにiTunesアルバムのアートワークを取得する
質問
Cocoaアプリケーションでは、iTunes自体を起動してバックグラウンドで実行する必要なく、iTunesからアルバムアートワークを取得するソリューションを探しています。
通常の、おそらく唯一のソリューションであるScripting Bridge、および本質的にAppleScriptは、コマンドを実行する前にiTunesを起動します。
アルバムアートワークは、 iTunes Library.xml
の解析から取得できない唯一の情報です。 iTunesは、〜/ {Library Path} / Album Artwork / Cache / D989408F65D05F99 / 04/13/04 / D989408F65D05F99-EB5B7A9086F4B4D4.itc
のように、次の方法でアートワークのストレージを難読化します。
iTunesを起動せずにアルバムアートを取得する方法を知っている人はいますか? Amazonのデータサービスを使用するなど、いつでも別のルートに進むことができますが、ローカルのiTunesベースのソリューションを希望します。
解決
ファイル名は、ライブラリID(D989408F65D05F99)とトラックのID(EB5B7A9086F4B4D4)のアマルガムです。ディレクトリ構造は、ライブラリIDと、トラックのIDの最後の3桁を10進数に変換したものです。つまり、4D4は04、13、04になります。
.itcファイルは、RIFF /チャンク型構造を持っているようです。ファイルの構造には少しありますこちら。
他のヒント
iTunes 11以降(macOS 10.13以降)は、この機能も備えたiTunes Library Frameworkを導入しました。iTunesLibrary.xmlを解析したり、トラックのストレージフォルダを読み取ったりする必要はありません