From dd401fbf4c409df6e0a9c291fefca06bcfd87d31 Mon Sep 17 00:00:00 2001 From: Kent Sutherland Date: Sun, 16 Mar 2003 00:24:31 +0000 Subject: [PATCH] Song rating stuff back in programatically. No stars yet ;( --- English.lproj/MainMenu.nib/classes.nib | 4 +- English.lproj/MainMenu.nib/info.nib | 9 ----- MenuTunes.h | 9 +++-- MenuTunes.m | 55 +++++++++++++------------- 4 files changed, 35 insertions(+), 42 deletions(-) diff --git a/English.lproj/MainMenu.nib/classes.nib b/English.lproj/MainMenu.nib/classes.nib index b342736..eda69cc 100755 --- a/English.lproj/MainMenu.nib/classes.nib +++ b/English.lproj/MainMenu.nib/classes.nib @@ -3,10 +3,10 @@ {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, {CLASS = MTApplication; LANGUAGE = ObjC; SUPERCLASS = NSApplication; }, { - ACTIONS = {setSongRating = id; }; + ACTIONS = {}; CLASS = MenuTunes; LANGUAGE = ObjC; - OUTLETS = {ratingMenu = NSMenu; }; + OUTLETS = {}; SUPERCLASS = NSObject; } ); diff --git a/English.lproj/MainMenu.nib/info.nib b/English.lproj/MainMenu.nib/info.nib index 2d71d80..adeae52 100755 --- a/English.lproj/MainMenu.nib/info.nib +++ b/English.lproj/MainMenu.nib/info.nib @@ -2,17 +2,8 @@ - IBEditorPositions - - 198 - 106 271 72 120 0 0 1152 746 - IBFramework Version 291.0 - IBOpenObjects - - 198 - IBSystem Version 6I32 diff --git a/MenuTunes.h b/MenuTunes.h index 2d3c5fa..393c5ec 100755 --- a/MenuTunes.h +++ b/MenuTunes.h @@ -24,8 +24,6 @@ @interface MenuTunes : NSObject { - IBOutlet NSMenu *ratingMenu; - ITStatusItem *statusItem; NSMenu *menu; ITMTRemote *currentRemote; @@ -54,7 +52,10 @@ NSMenuItem *eqItem; NSMenu *eqMenu; - NSMenuItem *songRatingMenuItem; //Song Rating submenu item + //For song ratings + NSMenuItem *songRatingMenuItem; + NSMenu *ratingMenu; + NSMenuItem *playPauseMenuItem; //Toggle between 'Play' and 'Pause' PreferencesController *prefsController; @@ -69,7 +70,7 @@ - (void)runTimerInNewThread; -- (IBAction)setSongRating:(id)sender; +- (void)setSongRating:(id)sender; - (void)clearHotKeys; - (void)closePreferences; diff --git a/MenuTunes.m b/MenuTunes.m index 3c96ed0..eea31d2 100755 --- a/MenuTunes.m +++ b/MenuTunes.m @@ -280,9 +280,31 @@ action:nil keyEquivalent:@""]; } else if ([item isEqualToString:@"Song Rating"]) { + NSMenuItem *item; + int i; + NSString *curTitle = @"....."; + songRatingMenuItem = [menu addItemWithTitle:@"Song Rating" action:nil keyEquivalent:@""]; + + ratingMenu = [[NSMenu alloc] initWithTitle:@""]; + + item = [ratingMenu addItemWithTitle:@"....." + action:@selector(setSongRating:) + keyEquivalent:@""]; + [item setTarget:self]; + [item setTag:0]; + + for (i = 1; i < 6; i++) { + curTitle = [curTitle substringToIndex:4]; + curTitle = [@"x" stringByAppendingString:curTitle]; + item = [ratingMenu addItemWithTitle:curTitle + action:@selector(setSongRating:) + keyEquivalent:@""]; + [item setTarget:self]; + [item setTag:(i * 20)]; + } } else if ([item isEqualToString:@""]) { [menu addItem:[NSMenuItem separatorItem]]; } @@ -372,31 +394,11 @@ if (songRatingMenuItem) { int rating = (int)[currentRemote currentSongRating] * 10; int i; - for (i = 0; i < 5; i++) { [[ratingMenu itemAtIndex:i] setState:NSOffState]; + [[ratingMenu itemAtIndex:i] setTarget:self]; } - - 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; - } + [[ratingMenu itemAtIndex:rating / 2] setState:NSOnState]; } } @@ -614,7 +616,7 @@ if (trackPlayingIndex != lastSongIndex) { BOOL wasPlayingRadio = isPlayingRadio; - isPlayingRadio = [[currentRemote classOfPlaylistAtIndex:playlist] isEqualToString:@"radio tuner playlist"]; + isPlayingRadio = ([currentRemote classOfPlaylistAtIndex:playlist] == ITMTRemotePlayerRadioPlaylist); if (isPlayingRadio && !wasPlayingRadio) { int i; @@ -637,7 +639,7 @@ } else { if (playlist != lastPlaylistIndex) { BOOL wasPlayingRadio = isPlayingRadio; - isPlayingRadio = [[currentRemote classOfPlaylistAtIndex:playlist] isEqualToString:@"radio tuner playlist"]; + isPlayingRadio = ([currentRemote classOfPlaylistAtIndex:playlist] == ITMTRemotePlayerRadioPlaylist); if (isPlayingRadio && !wasPlayingRadio) { int i; @@ -736,7 +738,7 @@ { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSRunLoop *runLoop = [NSRunLoop currentRunLoop]; - refreshTimer = [[NSTimer scheduledTimerWithTimeInterval:0.2 target:self selector:@selector(timerUpdate) userInfo:nil repeats:YES] retain]; + refreshTimer = [[NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(timerUpdate) userInfo:nil repeats:YES] retain]; [runLoop run]; [pool release]; } @@ -771,7 +773,6 @@ - (void)playTrack:(id)sender { [currentRemote switchToSongAtIndex:[[sender representedObject] intValue]]; - [self updateMenu]; } - (void)selectPlaylist:(id)sender @@ -840,7 +841,7 @@ [currentRemote setEqualizerEnabled:![currentRemote equalizerEnabled]]; } -- (IBAction)setSongRating:(id)sender +- (void)setSongRating:(id)sender { NSLog(@"%f", [currentRemote currentSongRating]); NSLog(@"%f", (float)[sender tag] / 100.0); -- 2.20.1