+- (void)incrementVolume
+{
+ float volume = [currentRemote volume];
+ float dispVol = volume;
+ ITDebugLog(@"Incrementing volume.");
+ volume += 0.110;
+ dispVol += 0.100;
+
+ if (volume > 1.0) {
+ volume = 1.0;
+ dispVol = 1.0;
+ }
+
+ ITDebugLog(@"Setting volume to %f", volume);
+ [currentRemote setVolume:volume];
+
+ // Show volume status window
+ [statusWindowController showVolumeWindowWithLevel:dispVol];
+}
+
+- (void)decrementVolume
+{
+ float volume = [currentRemote volume];
+ float dispVol = volume;
+ ITDebugLog(@"Decrementing volume.");
+ volume -= 0.090;
+ dispVol -= 0.100;
+
+ if (volume < 0.0) {
+ volume = 0.0;
+ dispVol = 0.0;
+ }
+
+ ITDebugLog(@"Setting volume to %f", volume);
+ [currentRemote setVolume:volume];
+
+ //Show volume status window
+ [statusWindowController showVolumeWindowWithLevel:dispVol];
+}
+
+- (void)incrementRating
+{
+ float rating = [currentRemote currentSongRating];
+ ITDebugLog(@"Incrementing rating.");
+
+ if ([currentRemote currentPlaylistIndex] == 0) {
+ ITDebugLog(@"No song playing, rating change aborted.");
+ return;
+ }
+
+ rating += 0.2;
+ if (rating > 1.0) {
+ rating = 1.0;
+ }
+ ITDebugLog(@"Setting rating to %f", rating);
+ [currentRemote setCurrentSongRating:rating];
+
+ //Show rating status window
+ [statusWindowController showRatingWindowWithRating:rating];
+}
+
+- (void)decrementRating
+{
+ float rating = [currentRemote currentSongRating];
+ ITDebugLog(@"Decrementing rating.");
+
+ if ([currentRemote currentPlaylistIndex] == 0) {
+ ITDebugLog(@"No song playing, rating change aborted.");
+ return;
+ }
+
+ rating -= 0.2;
+ if (rating < 0.0) {
+ rating = 0.0;
+ }
+ ITDebugLog(@"Setting rating to %f", rating);
+ [currentRemote setCurrentSongRating:rating];
+
+ //Show rating status window
+ [statusWindowController showRatingWindowWithRating:rating];
+}
+
+- (void)toggleLoop
+{
+ ITMTRemotePlayerRepeatMode repeatMode = [currentRemote repeatMode];
+ ITDebugLog(@"Toggling repeat mode.");
+ switch (repeatMode) {
+ case ITMTRemotePlayerRepeatOff:
+ repeatMode = ITMTRemotePlayerRepeatAll;
+ break;
+ case ITMTRemotePlayerRepeatAll:
+ repeatMode = ITMTRemotePlayerRepeatOne;
+ break;
+ case ITMTRemotePlayerRepeatOne:
+ repeatMode = ITMTRemotePlayerRepeatOff;
+ break;
+ }
+ ITDebugLog(@"Setting repeat mode to %i", repeatMode);
+ [currentRemote setRepeatMode:repeatMode];
+
+ //Show loop status window
+ [statusWindowController showRepeatWindowWithMode:repeatMode];
+}
+
+- (void)toggleShuffle
+{
+ BOOL newShuffleEnabled = ( ! [currentRemote shuffleEnabled] );
+ ITDebugLog(@"Toggling shuffle mode.");
+ [currentRemote setShuffleEnabled:newShuffleEnabled];
+ //Show shuffle status window
+ ITDebugLog(@"Setting shuffle mode to %i", newShuffleEnabled);
+ [statusWindowController showShuffleWindow:newShuffleEnabled];
+}
+
+- (void)registerNowOK
+{
+ [[StatusWindow sharedWindow] setLocked:NO];
+ [[StatusWindow sharedWindow] vanish:self];
+ [[StatusWindow sharedWindow] setIgnoresMouseEvents:YES];
+
+ [self blingNow];
+}
+
+- (void)registerNowCancel
+{
+ [[StatusWindow sharedWindow] setLocked:NO];
+ [[StatusWindow sharedWindow] vanish:self];
+ [[StatusWindow sharedWindow] setIgnoresMouseEvents:YES];
+
+ [NSApp terminate:self];
+}
+
+