私には2つの状況があります。曲のトラックIDを指定して、評価を整数に設定します。2つ目は、トラックIDの配列が指定されていることを除いて同じです。ScriptingBridgeを使用して曲の名前に基づいてiTunesTrackオブジェクトを検索できることは知っていますが、トラックIDに基づいて取得する方法はありますか?次のようなもの:
iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];
NSInteger *rating;
NSInteger *id;
if ( [iTunes isRunning] ) {
iTunesTrack *track = [ iTunes trackForDatabaseID:id ];
[ track setValue:rating forkey:@"rating" ];
}
2番目の状況では、トラックIDの配列を指定してiTunesTrackのSBElementArrayオブジェクトを取得する方法はありますか?何かのようなもの:
iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];
NSArray *ids; //array of NSIntegers
if ( [iTunes isRunning] ) {
SBElementArray *tracks = [ iTunes tracksForDatabaseIDs:ids ];
[ tracks setValue:rating forkey:@"rating" ];
}
これは、曲の名前に基づいてライブラリを繰り返し検索するよりも効率的だと思います。