iTunes の現在のトラックを検出して曲にタグを付け、bpm を計算するアプリケーションを 1 か月間作成しようとしています (テーピング ボタンを使用)。
ユーザーがタグのフィールドの 1 つを変更すると、アプリケーションでトラックがロックされます。つまり、iTunes の currentTrack が変更された場合、アプリケーションは前のトラックにとどまります。
私の問題: 前のトラックの永続的な ID を取得しました。この永続 ID に対応するトラックを取得するための AppleScript を作成しました。しかし、アプリケーションのココア部分でこのトラックを取得する方法が見つかりません!!!!
ここにスクリプト:
on open param
tell application "iTunes"
set trackItems to (every track of playlist "Library" whose persistent ID is param)
repeat with aTrack in trackItems
return aTrack
end repeat
return null
end tell
end open
ココア側では、
NSAppleEventDescriptor *desc = [findTrackWithPersistentIDScript runWithParameters: [NSArray arrayWithObjects: lockPersistentID ,nil]];
NSAppleEventDescriptor で何ができますか? iTunesTrack または iTunesFileTrack が必要です。表示ダイアログで、トラックが適切に検出されていることを確認します
読んでくれてありがとう!
PS : デバッグするとき、[ desc data ] を実行すると、NSContreteData があり、iTunesItem の下にあります。しかし、この iTunesItem を取得する方法がわかりません (キャストを試しました...)、なんとか取得できました。