const signed long numPlaylists = [[ITAppleEventCenter sharedCenter] sendAEWithSendStringForNumber:[NSString stringWithFormat:@"kocl:type('cPly'), '----':obj { form:'indx', want:type('cSrc'), seld:long(%u), from:() }",k] eventClass:@"core" eventID:@"cnte" appPSN:savedPSN];
unsigned long fourcc = [[ITAppleEventCenter sharedCenter] sendAEWithSendStringForNumber:[NSString stringWithFormat:@"'----':obj { form:'prop', want:type('prop'), seld:type('pKnd'), from:obj { form:'indx', want:type('cSrc'), seld:long(%u), from:() } }",k] eventClass:@"core" eventID:@"getd" appPSN:savedPSN];
NSString *sourceName = [[ITAppleEventCenter sharedCenter] sendAEWithSendString:[NSString stringWithFormat:@"'----':obj { form:'prop', want:type('prop'), seld:type('pnam'), from:obj { form:'indx', want:type('cSrc'), seld:long(%u), from:() } }",k] eventClass:@"core" eventID:@"getd" appPSN:savedPSN];
+ unsigned long index = [[ITAppleEventCenter sharedCenter] sendAEWithSendStringForNumber:[NSString stringWithFormat:@"'----':obj { form:'prop', want:type('prop'), seld:type('pidx'), from:obj { form:'indx', want:type('cSrc'), seld:long(%u), from:() } }",k] eventClass:@"core" eventID:@"getd" appPSN:savedPSN];
unsigned long class;
if (sourceName) {
NSMutableArray *aSource = [[NSMutableArray alloc] init];
- [aSource addObject:[[sourceName copy] autorelease]];
+ [aSource addObject:sourceName];
switch (fourcc) {
case 'kTun':
class = ITMTRemoteRadioSource;
class = ITMTRemoteLibrarySource;
break;
}
- ITDebugLog(@"Adding source %@ of type %i", sourceName, class);
+ ITDebugLog(@"Adding source %@ of type %i at index %i", sourceName, class, index);
[aSource addObject:[NSNumber numberWithInt:class]];
+ [aSource addObject:[NSNumber numberWithInt:index]];
for (i = 1; i <= numPlaylists; i++) {
NSString *sendStr = [NSString stringWithFormat:@"'----':obj { form:'prop', want:type('prop'), seld:type('pnam'), from:obj { form:'indx', want:type('cPly'), seld:long(%u), from:obj { form:'indx', want:type('cSrc'), seld:long(%u), from:() } } }",i,k];
NSString *theObj = [[ITAppleEventCenter sharedCenter] sendAEWithSendString:sendStr eventClass:@"core" eventID:@"getd" appPSN:savedPSN];
ITDebugLog(@" - Adding playlist %@", theObj);
if (theObj) {
- [aSource addObject:[[theObj copy] autorelease]];
+ [aSource addObject:theObj];
}
}
[allSources addObject:[aSource autorelease]];
return ( ([temp1 length]) ? temp1 : nil ) ;
}
+- (NSString *)currentSongComposer
+{
+ NSString *temp1;
+ ITDebugLog(@"Getting current song artist.");
+ if ( [self currentPlaylistClass] != ITMTRemotePlayerRadioPlaylist ) {
+ temp1 = [[ITAppleEventCenter sharedCenter] sendTwoTierAEWithRequestedKey:@"pCmp" fromObjectByKey:@"pTrk" eventClass:@"core" eventID:@"getd" appPSN:savedPSN];
+ } else {
+ temp1 = @"";
+ }
+ ITDebugLog(@"Getting current song artist done.");
+ return ( ([temp1 length]) ? temp1 : nil ) ;
+}
+
- (NSString *)currentSongAlbum
{
NSString *temp1;
{
if ([(NSString *)name isEqualToString:@"iTunes"])
{
- ITDebugLog(@"iTunes' highLongOfPSN: %lu.", number.highLongOfPSN);
+ ITDebugLog(@"iTunes' highLPongOfPSN: %lu.", number.highLongOfPSN);
ITDebugLog(@"iTunes' lowLongOfPSN: %lu.", number.lowLongOfPSN);
ITDebugLog(@"Done getting iTunes' PSN.");
return number;