+ if (playlistItem) {
+ [self rebuildPlaylistMenu];
+ }
+
+ if (eqItem) {
+ [self rebuildEQPresetsMenu];
+ }
+
+ if (ratingItem) {
+ if (isPlayingRadio || !playlist) {
+ [ratingItem setEnabled:NO];
+ if ([ratingItem submenu]) {
+ [ratingItem setSubmenu:nil];
+ }
+ } else {
+ int currentSongRating = ([currentRemote currentSongRating] * 5);
+ [[ratingMenu itemAtIndex:lastSongRating] setState:NSOffState];
+ lastSongRating = currentSongRating;
+ [[ratingMenu itemAtIndex:lastSongRating] setState:NSOnState];
+ [ratingItem setEnabled:YES];
+ [ratingItem setSubmenu:ratingMenu];
+ }
+ }
+
+ //Set the new unique song identifier
+ lastSongIdentifier = [[currentRemote currentSongUniqueIdentifier] retain];
+
+ //If we're in a playlist or radio mode
+ if ( (trackInfoIndex > -1) && (playlist || isPlayingRadio) ) {