X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/e40a6bb44d76a738d58a321039b6932c4688b12a..dd401fbf4c409df6e0a9c291fefca06bcfd87d31:/MenuTunes.m?ds=inline diff --git a/MenuTunes.m b/MenuTunes.m index d2fdaf2..eea31d2 100755 --- a/MenuTunes.m +++ b/MenuTunes.m @@ -44,7 +44,7 @@ menu = [[NSMenu alloc] initWithTitle:@""]; - if ( ( [currentRemote playerRunningStatus] == ITMTRemotePlayerRunning ) ) { + if ( ( [currentRemote playerRunningState] == ITMTRemotePlayerRunning ) ) { [self remotePlayerLaunched:nil]; } else { [self remotePlayerTerminated:nil]; @@ -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]; } } @@ -607,14 +609,14 @@ - (void)timerUpdate { int playlist = [currentRemote currentPlaylistIndex]; - ITMTRemotePlayerState playerState = [currentRemote playerState]; + ITMTRemotePlayerPlayingState playerPlayingState = [currentRemote playerPlayingState]; - if ((playlist > 0) || playerState != ITMTRemotePlayerStopped) { + if ((playlist > 0) || playerPlayingState != ITMTRemotePlayerStopped) { int trackPlayingIndex = [currentRemote currentSongIndex]; 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; @@ -668,7 +670,7 @@ } //Update Play/Pause menu item if (playPauseMenuItem){ - if (playerState == ITMTRemotePlayerPlaying) { + if (playerPlayingState == ITMTRemotePlayerPlaying) { [playPauseMenuItem setTitle:@"Pause"]; } else { [playPauseMenuItem setTitle:@"Play"]; @@ -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 @@ -799,7 +800,7 @@ - (void)playPause:(id)sender { - ITMTRemotePlayerState state = [currentRemote playerState]; + ITMTRemotePlayerPlayingState state = [currentRemote playerPlayingState]; if (state == ITMTRemotePlayerPlaying) { [currentRemote pause]; @@ -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);