From: Kent Sutherland Date: Thu, 13 Mar 2003 02:32:38 +0000 (+0000) Subject: Readded the stupid ratings menu to the nib, since it went poof. Added X-Git-Tag: v1.0~198 X-Git-Url: http://git.ithinksw.org/MenuTunes.git/commitdiff_plain/3d264b03e4c01c0f2165888dc402cb0f16509768 Readded the stupid ratings menu to the nib, since it went poof. Added some more song rating stuff, that might hopefully come close to working when the plugin side does. --- diff --git a/English.lproj/MainMenu.nib/info.nib b/English.lproj/MainMenu.nib/info.nib index 987f1de..2d71d80 100755 --- a/English.lproj/MainMenu.nib/info.nib +++ b/English.lproj/MainMenu.nib/info.nib @@ -5,7 +5,7 @@ IBEditorPositions 198 - 110 274 101 138 0 0 1152 746 + 106 271 72 120 0 0 1152 746 IBFramework Version 291.0 diff --git a/MenuTunes.h b/MenuTunes.h index 3c5fede..89223ed 100755 --- a/MenuTunes.h +++ b/MenuTunes.h @@ -54,6 +54,7 @@ NSMenuItem *eqItem; NSMenu *eqMenu; + NSMenuItem *songRatingMenuItem; //Song Rating submenu item NSMenuItem *playPauseMenuItem; //Toggle between 'Play' and 'Pause' PreferencesController *prefsController; diff --git a/MenuTunes.m b/MenuTunes.m index 4b8ac85..ccb4b5a 100755 --- a/MenuTunes.m +++ b/MenuTunes.m @@ -201,6 +201,7 @@ playPauseMenuItem = nil; upcomingSongsItem = nil; + songRatingMenuItem = nil; playlistItem = nil; [playlistMenu release]; playlistMenu = nil; @@ -280,35 +281,9 @@ action:nil keyEquivalent:@""]; } else if ([item isEqualToString:@"Song Rating"]) { - /*NSMenu *ratingSubmenu = [[NSMenu alloc] initWithTitle:@""]; - unichar whiteStarChar = 2606; - unichar blackStarChar = 2605; - NSString *whiteStar = [NSString stringWithCharacters:&whiteStarChar - length:1]; - NSString *blackStar = [NSString stringWithCharacters:&blackStarChar - length:1]; - NSData *whiteStarData = [whiteStar dataUsingEncoding:NSUTF8StringEncoding]; - NSData *blackStarData = [blackStar dataUsingEncoding:NSUTF8StringEncoding]; - NSString *string = @""; - int i; - - whiteStar = [[NSString alloc] initWithData:whiteStarData encoding:NSUTF8StringEncoding]; - - for (i = 0; i < 5; i++) { - string = [string stringByAppendingString:whiteStar]; - } - for (i = 0; i < 6; i++) { - NSMenuItem *ratingItem; - ratingItem = [ratingSubmenu addItemWithTitle:string action:@selector(setSongRating:) keyEquivalent:@""]; - [ratingItem setTarget:self]; - [ratingItem setTag:i * 20]; - string = [string substringToIndex:4]; - string = [blackStar stringByAppendingString:string]; - } - [ratingSubmenu autorelease];*/ - [[menu addItemWithTitle:@"Song Rating" + songRatingMenuItem = [menu addItemWithTitle:@"Song Rating" action:nil - keyEquivalent:@""] setSubmenu:ratingMenu]; + keyEquivalent:@""]; } else if ([item isEqualToString:@""]) { [menu addItem:[NSMenuItem separatorItem]]; } @@ -394,6 +369,36 @@ [menu insertItem:menuItem atIndex:trackInfoIndex + 1]; [menuItem release]; } + + if (songRatingMenuItem) { + int rating = (int)[currentRemote currentSongRating] * 10; + int i; + + for (i = 0; i < 5; i++) { + [[ratingMenu itemAtIndex:i] setState:NSOffState]; + } + + switch (rating) { + case 0: + [[ratingMenu itemAtIndex:5] setState:NSOnState]; + break; + case 2: + [[ratingMenu itemAtIndex:4] setState:NSOnState]; + break; + case 4: + [[ratingMenu itemAtIndex:3] setState:NSOnState]; + break; + case 6: + [[ratingMenu itemAtIndex:2] setState:NSOnState]; + break; + case 8: + [[ratingMenu itemAtIndex:1] setState:NSOnState]; + break; + case 10: + [[ratingMenu itemAtIndex:0] setState:NSOnState]; + break; + } + } } if ([defaults boolForKey:@"showName"]) { @@ -409,6 +414,9 @@ [menu removeItemAtIndex:[menu indexOfItemWithTitle:@"No Song"]]; [menu insertItem:menuItem atIndex:trackInfoIndex]; [menuItem release]; + + [songRatingMenuItem setSubmenu:ratingMenu]; + [songRatingMenuItem setEnabled:YES]; } } else if ([menu indexOfItemWithTitle:@"No Song"] == -1) { [menu removeItemAtIndex:trackInfoIndex]; @@ -525,9 +533,14 @@ [eqMenu release]; eqMenu = [[NSMenu alloc] initWithTitle:@""]; - enabledItem = [eqMenu addItemWithTitle:@"EQ Enabled" - action:NULL + enabledItem = [eqMenu addItemWithTitle:@"Disabled" + action:@selector(toggleEqualizer) keyEquivalent:@""]; + + if ([currentRemote equalizerEnabled] == NO) { + [enabledItem setState:NSOnState]; + } + [eqMenu addItem:[NSMenuItem separatorItem]]; for (i = 0; i < [eqPresets count]; i++) { @@ -693,6 +706,9 @@ [upcomingSongsItem setSubmenu:nil]; [upcomingSongsItem setEnabled:NO]; + [songRatingMenuItem setSubmenu:nil]; + [songRatingMenuItem setEnabled:NO]; + menuItem = [[NSMenuItem alloc] initWithTitle:@"No Song" action:nil keyEquivalent:@""]; [menu insertItem:menuItem atIndex:trackInfoIndex]; [menuItem release]; @@ -819,8 +835,14 @@ [playPauseMenuItem setTitle:@"Play"]; } +- (void)toggleEqualizer +{ + [currentRemote setEqualizerEnabled:![currentRemote equalizerEnabled]]; +} + - (IBAction)setSongRating:(id)sender { + NSLog(@"%f", [currentRemote currentSongRating]); NSLog(@"%f", (float)[sender tag] / 100.0); [currentRemote setCurrentSongRating:(float)[sender tag] / 100.0]; }