Hopefully fixed one last bug with the multisource playlists. Added some
[MenuTunes.git] / iTunesRemote.m
index 0702568..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':