From 635a5437a4d35597ac0fce8c5f7bcb3dd406d5e3 Mon Sep 17 00:00:00 2001 From: Kent Sutherland Date: Wed, 28 Apr 2004 23:17:31 +0000 Subject: [PATCH] Fixed MT for iTunes 4.5 and the radio source possibly not existing. --- MainController.m | 2 +- MenuController.m | 57 ++++++++++++++++++--------------- MenuTunes.xcode/project.pbxproj | 2 +- iTunesRemote.m | 2 +- 4 files changed, 35 insertions(+), 28 deletions(-) diff --git a/MainController.m b/MainController.m index 940766c..ca0d38d 100755 --- a/MainController.m +++ b/MainController.m @@ -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); } diff --git a/MenuController.m b/MenuController.m index 508237e..a38ec5b 100755 --- a/MenuController.m +++ b/MenuController.m @@ -607,35 +607,42 @@ 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) ) { diff --git a/MenuTunes.xcode/project.pbxproj b/MenuTunes.xcode/project.pbxproj index 1755454..1788eee 100755 --- a/MenuTunes.xcode/project.pbxproj +++ b/MenuTunes.xcode/project.pbxproj @@ -1513,7 +1513,7 @@ 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; diff --git a/iTunesRemote.m b/iTunesRemote.m index bf672e1..d0c2366 100755 --- a/iTunesRemote.m +++ b/iTunesRemote.m @@ -741,7 +741,7 @@ { 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; -- 2.20.1