Hopefully fixed one last bug with the multisource playlists. Added some
[MenuTunes.git] / iTunesRemote.m
index f330917..397353c 100755 (executable)
         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 class;
         NSMutableArray *aSource = [[NSMutableArray alloc] init];
-        [aSource addObject:sourceName];
+        [aSource addObject:[[sourceName copy] autorelease]];
         switch (fourcc) {
             case 'kTun':
                 class = ITMTRemoteRadioSource;
             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);
-            [aSource addObject:theObj];
+            [aSource addObject:[[theObj copy] autorelease]];
         }
-        [allSources addObject:aSource];
-        [aSource release];
+        [allSources addObject:[aSource autorelease]];
     }
     ITDebugLog(@"Finished getting playlists.");
     return [allSources autorelease];
 
 - (ITMTRemotePlayerPlaylistClass)currentPlaylistClass
 {
-    int realResult = [[ITAppleEventCenter sharedCenter] sendTwoTierAEWithRequestedKeyForNumber:@"pcls" fromObjectByKey:@"pPla" eventClass:@"core" eventID:@"getd" appPSN:savedPSN];
-    
+    int realResult;
     ITDebugLog(@"Getting current playlist class");
+    realResult = [[ITAppleEventCenter sharedCenter] sendTwoTierAEWithRequestedKeyForNumber:@"pcls" fromObjectByKey:@"pPla" eventClass:@"core" eventID:@"getd" appPSN:savedPSN];
     switch (realResult)
           {
           case 'cLiP':
     return YES;
 }
 
-/*- (BOOL)switchToPlaylistAtIndex:(int)index ofSourceAtIndex:(int)index2
+- (BOOL)switchToPlaylistAtIndex:(int)index ofSourceAtIndex:(int)index2
 {
     ITDebugLog(@"Switching to playlist at index %i of source %i", index, index2);
     [[ITAppleEventCenter sharedCenter] sendAEWithSendString:[NSString stringWithFormat:@"'----':obj { form:'indx', want:type('cPly'), seld:long(%lu), from: obj { form:'indx', want:type('cSrc'), seld:long(%lu), from:'null'() } }", index - 1, index2 + 1] eventClass:@"hook" eventID:@"Play" appPSN:savedPSN];
     //{ form:'indx', want:type('cPly'), seld:long(%lu), from:obj { form:'indx', want:type('cSrc'), seld:long('%lu'), from:'null'() } } -- obj { form:'indx', want:type('cSrc'), seld:long(1), from:'null'() }
     ITDebugLog(@"Done switching to playlist at index %i of source %i", index, index2);
     return YES;
-}*/
+}
 
 - (BOOL)switchToSongAtIndex:(int)index
 {