Fixed MT for iTunes 4.5 and the radio source possibly not existing.
authorKent Sutherland <ksuther@ithinksw.com>
Wed, 28 Apr 2004 23:17:31 +0000 (23:17 +0000)
committerKent Sutherland <ksuther@ithinksw.com>
Wed, 28 Apr 2004 23:17:31 +0000 (23:17 +0000)
MainController.m
MenuController.m
MenuTunes.xcode/project.pbxproj
iTunesRemote.m

index 940766c..ca0d38d 100755 (executable)
@@ -352,7 +352,7 @@ static MainController *sharedController;
             while ( (nextScript = [scriptsEnum nextObject]) ) {
                 NSDictionary *error;
                 NSAppleScript *currentScript = [[NSAppleScript alloc] initWithContentsOfURL:[NSURL fileURLWithPath:[[NSHomeDirectory() stringByAppendingPathComponent:@"Library/Application Support/MenuTunes/Scripts"] stringByAppendingPathComponent:nextScript]] error:&error];
-                NSLog(@"Running script: %@", nextScript);
+                ITDebugLog(@"Running script: %@", nextScript);
                 if (!currentScript || ![currentScript executeAndReturnError:nil]) {
                     ITDebugLog(@"Error running script %@.", nextScript);
                 }
index 508237e..a38ec5b 100755 (executable)
         ITDebugLog(@"Adding index to the index array.");
         [indices addObject:[curPlaylist objectAtIndex:2]];
     }
-    [indices addObject:[[playlists objectAtIndex:1] objectAtIndex:2]];
-    if ( (source == ITMTRemoteRadioSource) || ([playlists count] - 2 > 0) ) {
-        [playlistsMenu addItem:[NSMenuItem separatorItem]];
-    }
-    
-    if (source == ITMTRemoteRadioSource) {
-        [[playlistsMenu addItemWithTitle:NSLocalizedString(@"radio", @"Radio") action:@selector(performPlaylistMenuAction:) keyEquivalent:@""] setState:NSOnState];
+    if ([playlists count] > 1) {
+        if ([[[playlists objectAtIndex:1] objectAtIndex:1] intValue] == ITMTRemoteRadioSource) {
+            [indices addObject:[[playlists objectAtIndex:1] objectAtIndex:2]];
+            if (source == ITMTRemoteRadioSource) {
+                [playlistsMenu addItem:[NSMenuItem separatorItem]];
+                [[playlistsMenu addItemWithTitle:NSLocalizedString(@"radio", @"Radio") action:@selector(performPlaylistMenuAction:) keyEquivalent:@""] setState:NSOnState];
+            }
+        } else {
+            [playlistsMenu addItem:[NSMenuItem separatorItem]];
+        }
     }
     
-    for (i = 2; i < [playlists count]; i++) {
-        NSArray *curPlaylist = [playlists objectAtIndex:i];
-        NSString *name = [curPlaylist objectAtIndex:0];
-        NSMenu *submenu = [[NSMenu alloc] init];
-        ITDebugLog(@"Adding source: %@", name);
-        
-        if ( ([[curPlaylist objectAtIndex:1] intValue] == ITMTRemoteiPodSource) && [self iPodWithNameAutomaticallyUpdates:name] ) {
-            ITDebugLog(@"Invalid iPod source.");
-            [playlistsMenu addItemWithTitle:name action:NULL keyEquivalent:@""];
-        } else {
-            for (j = 3; j < [curPlaylist count]; j++) {
-                ITDebugLog(@"Adding playlist: %@", [curPlaylist objectAtIndex:j]);
-                tempItem = [submenu addItemWithTitle:[curPlaylist objectAtIndex:j] action:@selector(performPlaylistMenuAction:) keyEquivalent:@""];
-                [tempItem setTag:(i * 1000) + j - 1];
-                [tempItem setTarget:self];
+    if ([playlists count] > 1) {
+        for (i = 1; i < [playlists count]; i++) {
+            NSArray *curPlaylist = [playlists objectAtIndex:i];
+            if ([[curPlaylist objectAtIndex:1] intValue] != ITMTRemoteRadioSource) {
+                NSString *name = [curPlaylist objectAtIndex:0];
+                NSMenu *submenu = [[NSMenu alloc] init];
+                ITDebugLog(@"Adding source: %@", name);
+                
+                if ( ([[curPlaylist objectAtIndex:1] intValue] == ITMTRemoteiPodSource) && [self iPodWithNameAutomaticallyUpdates:name] ) {
+                    ITDebugLog(@"Invalid iPod source.");
+                    [playlistsMenu addItemWithTitle:name action:NULL keyEquivalent:@""];
+                } else {
+                    for (j = 3; j < [curPlaylist count]; j++) {
+                        ITDebugLog(@"Adding playlist: %@", [curPlaylist objectAtIndex:j]);
+                        tempItem = [submenu addItemWithTitle:[curPlaylist objectAtIndex:j] action:@selector(performPlaylistMenuAction:) keyEquivalent:@""];
+                        [tempItem setTag:(i * 1000) + j - 1];
+                        [tempItem setTarget:self];
+                    }
+                    [[playlistsMenu addItemWithTitle:name action:NULL keyEquivalent:@""] setSubmenu:[submenu autorelease]];
+                }
+                ITDebugLog(@"Adding index to the index array.");
+                [indices addObject:[curPlaylist objectAtIndex:2]];
             }
-            [[playlistsMenu addItemWithTitle:name action:NULL keyEquivalent:@""] setSubmenu:[submenu autorelease]];
         }
-        ITDebugLog(@"Adding index to the index array.");
-        [indices addObject:[curPlaylist objectAtIndex:2]];
     }
     ITDebugLog(@"Checking the current source.");
     if ( (source == ITMTRemoteSharedLibrarySource) || (source == ITMTRemoteiPodSource) || (source == ITMTRemoteGenericDeviceSource) || (source == ITMTRemoteCDSource) ) {
index 1755454..1788eee 100755 (executable)
                        buildRules = (
                        );
                        buildSettings = {
-                               FRAMEWORK_SEARCH_PATHS = "../ITFoundation/build ../ITKit/build /Volumes/Data/Desktop/ITFoundation/build /Users/kent/Programming/iThink/MenuTunes";
+                               FRAMEWORK_SEARCH_PATHS = "../ITFoundation/build ../ITKit/build /Volumes/Data/Desktop/ITFoundation/build";
                                GCC_ENABLE_TRIGRAPHS = NO;
                                GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
                                GCC_PRECOMPILE_PREFIX_HEADER = YES;
index bf672e1..d0c2366 100755 (executable)
         {
             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;