{
ITHotKey *hotKey;
ITDebugLog(@"Setting up hot keys.");
+
+ if (playerRunningState == ITMTRemotePlayerNotRunning) {
+ return;
+ }
+
if ([df objectForKey:@"PlayPause"] != nil) {
ITDebugLog(@"Setting up play pause hot key.");
hotKey = [[ITHotKey alloc] init];
}
if ( [df boolForKey:@"showTrackRating"] ) {
- rating = ( [currentRemote currentSongRating] * 5 );
+ float currentRating = [currentRemote currentSongRating];
+ if (currentRating >= 0.0) {
+ rating = ( currentRating * 5 );
+ }
}
} else {
{
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;
{
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;