X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/97a58d16b59657d99b396a9d7e3ef2eadb357fa8..5b82496caef98719afa343cba1a708b77eeaf2c0:/MainController.m?ds=sidebyside diff --git a/MainController.m b/MainController.m index 681da56..ec906a3 100755 --- a/MainController.m +++ b/MainController.m @@ -173,13 +173,13 @@ static MainController *sharedController; ( ([self radioIsPlaying]) && (latestPlaylistClass != ITMTRemotePlayerRadioPlaylist) ) || ( (! [self radioIsPlaying]) && (latestPlaylistClass == ITMTRemotePlayerRadioPlaylist) ) )*/ - if ([self songChanged]) { + if ( [self songChanged] ) { [self setLatestSongIdentifier:[currentRemote playerStateUniqueIdentifier]]; latestPlaylistClass = [currentRemote currentPlaylistClass]; [menuController rebuildSubmenus]; if ( [df boolForKey:@"showSongInfoOnChange"] ) { - [self showCurrentTrackInfo]; +// [self performSelector:@selector(showCurrentTrackInfo) withObject:nil afterDelay:0.0]; } } } @@ -211,46 +211,64 @@ static MainController *sharedController; } else { [currentRemote play]; } + + [self timerUpdate]; } - (void)nextSong { [currentRemote goToNextSong]; + + [self timerUpdate]; } - (void)prevSong { [currentRemote goToPreviousSong]; + + [self timerUpdate]; } - (void)fastForward { [currentRemote forward]; + + [self timerUpdate]; } - (void)rewind { [currentRemote rewind]; + + [self timerUpdate]; } - (void)selectPlaylistAtIndex:(int)index { [currentRemote switchToPlaylistAtIndex:index]; + + [self timerUpdate]; } - (void)selectSongAtIndex:(int)index { [currentRemote switchToSongAtIndex:index]; + + [self timerUpdate]; } - (void)selectSongRating:(int)rating { [currentRemote setCurrentSongRating:(float)rating / 100.0]; + + [self timerUpdate]; } - (void)selectEQPresetAtIndex:(int)index { [currentRemote switchToEQAtIndex:index]; + + [self timerUpdate]; } - (void)showPlayer @@ -421,16 +439,16 @@ static MainController *sharedController; - (void)showCurrentTrackInfo { - NSString *title = [currentRemote currentSongTitle]; - + ITMTRemotePlayerSource source = [currentRemote currentSource]; + NSString *title = [currentRemote currentSongTitle]; + NSString *album = nil; + NSString *artist = nil; + NSString *time = nil; + int trackNumber = 0; + int trackTotal = 0; + int rating = -1; + if ( title ) { - NSString *album = nil; - NSString *artist = nil; - NSString *time = nil; - int trackNumber = 0; - int trackTotal = 0; - int rating = 0; - ITMTRemotePlayerSource source = [currentRemote currentSource]; if ( [df boolForKey:@"showAlbum"] ) { album = [currentRemote currentSongAlbum]; @@ -452,26 +470,19 @@ static MainController *sharedController; if ( [df boolForKey:@"showRating"] ) { rating = ( [currentRemote currentSongRating] * 5 ); } - - [statusWindowController showSongWindowWithTitle:title - album:album - artist:artist - time:time - trackNumber:trackNumber - trackTotal:trackTotal - rating:rating - source:source]; + } else { title = NSLocalizedString(@"noSongPlaying", @"No song is playing."); - [statusWindowController showSongWindowWithTitle:title - album:nil - artist:nil - time:nil - trackNumber:0 - trackTotal:0 - rating:0 - source:[currentRemote currentSource]]; } + + [statusWindowController showSongInfoWindowWithSource:source + title:title + album:album + artist:artist + time:time + trackNumber:trackNumber + trackTotal:trackTotal + rating:rating]; } - (void)showUpcomingSongs @@ -491,37 +502,49 @@ static MainController *sharedController; } } - [statusWindowController showUpcomingSongsWithTitles:songList]; + [statusWindowController showUpcomingSongsWindowWithTitles:songList]; } else { - [statusWindowController showUpcomingSongsWithTitles:[NSArray arrayWithObject:NSLocalizedString(@"noUpcomingSongs", @"No upcoming songs.")]]; + [statusWindowController showUpcomingSongsWindowWithTitles:[NSArray arrayWithObject:NSLocalizedString(@"noUpcomingSongs", @"No upcoming songs.")]]; } } - (void)incrementVolume { - float volume = [currentRemote volume]; - volume += 0.2; + float volume = [currentRemote volume]; + float dispVol = volume; + + volume += 0.110; + dispVol += 0.100; + if (volume > 1.0) { - volume = 1.0; + volume = 1.0; + dispVol = 1.0; } + [currentRemote setVolume:volume]; - - //Show volume status window - [statusWindowController showVolumeWindowWithLevel:volume]; + + // Show volume status window + [statusWindowController showVolumeWindowWithLevel:dispVol]; } - (void)decrementVolume { - float volume = [currentRemote volume]; - volume -= 0.2; + float volume = [currentRemote volume]; + float dispVol = volume; + + volume -= 0.090; + dispVol -= 0.100; + if (volume < 0.0) { - volume = 0.0; + volume = 0.0; + dispVol = 0.0; } + [currentRemote setVolume:volume]; //Show volume status window - [statusWindowController showVolumeWindowWithLevel:volume]; + [statusWindowController showVolumeWindowWithLevel:dispVol]; } - (void)incrementRating @@ -534,7 +557,7 @@ static MainController *sharedController; [currentRemote setCurrentSongRating:rating]; //Show rating status window - [statusWindowController showRatingWindowWithLevel:rating]; + [statusWindowController showRatingWindowWithRating:rating]; } - (void)decrementRating @@ -547,13 +570,12 @@ static MainController *sharedController; [currentRemote setCurrentSongRating:rating]; //Show rating status window - [statusWindowController showRatingWindowWithLevel:rating]; + [statusWindowController showRatingWindowWithRating:rating]; } - (void)toggleLoop { ITMTRemotePlayerRepeatMode repeatMode = [currentRemote repeatMode]; - switch (repeatMode) { case ITMTRemotePlayerRepeatOff: repeatMode = ITMTRemotePlayerRepeatAll; @@ -568,7 +590,7 @@ static MainController *sharedController; [currentRemote setRepeatMode:repeatMode]; //Show loop status window - [statusWindowController showLoopWindowWithMode:repeatMode]; + [statusWindowController showRepeatWindowWithMode:repeatMode]; } - (void)toggleShuffle @@ -576,7 +598,7 @@ static MainController *sharedController; bool newShuffleEnabled = ![currentRemote shuffleEnabled]; [currentRemote setShuffleEnabled:newShuffleEnabled]; //Show shuffle status window - [statusWindowController showLoopWindowWithMode:newShuffleEnabled]; + [statusWindowController showRepeatWindowWithMode:newShuffleEnabled]; } /*************************************************************************/