У меня две ситуации. Учитывая идентификатор трека песни, установите рейтинг на некоторое целое число. Второй тоже самое, за исключением того, что мне дали массив идентификаторов треков. Я знаю, что могу использовать ScriptingBridge для поиска объекта iTunesTrack по названию песни, но есть ли способ получить его на основе идентификатора дорожки? Что-то вроде:
iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];
NSInteger *rating;
NSInteger *id;
if ( [iTunes isRunning] ) {
iTunesTrack *track = [ iTunes trackForDatabaseID:id ];
[ track setValue:rating forkey:@"rating" ];
}
Для второй ситуации, есть ли способ получить объект SBElementArray из iTunesTrack по массиву идентификаторов треков? Что-то вроде:
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" ];
}
Я считаю, что это будет более эффективно, чем итеративный поиск в библиотеке по названию песни.