NSEnumerator *itemEnum;
ITHotKey *hotKey;
NSArray *hotKeys = [[ITHotKeyCenter sharedCenter] allHotKeys];
+ ITMTRemote *mtr = [[MainController sharedController] currentRemote];
int currentSongRating = 0;
//Get the information
NS_DURING
- _currentPlaylist = [[[MainController sharedController] currentRemote] currentPlaylistIndex];
- _playingRadio = ([[[MainController sharedController] currentRemote] currentPlaylistClass] == ITMTRemotePlayerRadioPlaylist);
- currentSongRating = ( [[[MainController sharedController] currentRemote] currentSongRating] != -1 );
+ _currentPlaylist = [mtr currentPlaylistIndex];
+ _playingRadio = ([mtr currentPlaylistClass] == ITMTRemotePlayerRadioPlaylist);
+ currentSongRating = ( [mtr currentSongRating] != -1 );
NS_HANDLER
[[MainController sharedController] networkError:localException];
NS_ENDHANDLER
ITDebugLog(@"Set \"Play\"/\"Pause\" menu item's title to correct state.");
NS_DURING
- switch ([[[MainController sharedController] currentRemote] playerPlayingState]) {
+ switch ([mtr playerPlayingState]) {
case ITMTRemotePlayerPlaying:
[tempItem setTitle:NSLocalizedString(@"pause", @"Pause")];
break;
NS_DURING
tempItem = [menu addItemWithTitle:[NSString stringWithFormat:@"%@ %@",
NSLocalizedString(@"show", @"Show"),
- [[[MainController sharedController] currentRemote] playerSimpleName]]
+ [mtr playerSimpleName]]
action:@selector(performMainMenuAction:)
keyEquivalent:@""];
NS_HANDLER
if (_currentPlaylist) {
NSString *title = nil;
NS_DURING
- title = [[[MainController sharedController] currentRemote] currentSongTitle];
+ title = [mtr currentSongTitle];
NS_HANDLER
[[MainController sharedController] networkError:localException];
NS_ENDHANDLER
if ([defaults boolForKey:@"showAlbum"]) {
NSString *curAlbum = nil;
NS_DURING
- curAlbum = [[[MainController sharedController] currentRemote] currentSongAlbum];
+ curAlbum = [mtr currentSongAlbum];
NS_HANDLER
[[MainController sharedController] networkError:localException];
NS_ENDHANDLER
if ([defaults boolForKey:@"showArtist"]) {
NSString *curArtist = nil;
NS_DURING
- curArtist = [[[MainController sharedController] currentRemote] currentSongArtist];
+ curArtist = [mtr currentSongArtist];
NS_HANDLER
[[MainController sharedController] networkError:localException];
NS_ENDHANDLER
if ([defaults boolForKey:@"showComposer"]) {
NSString *curComposer = nil;
NS_DURING
- curComposer = [[[MainController sharedController] currentRemote] currentSongComposer];
+ curComposer = [mtr currentSongComposer];
NS_HANDLER
[[MainController sharedController] networkError:localException];
NS_ENDHANDLER
if ([defaults boolForKey:@"showTrackNumber"]) {
int track = 0;
NS_DURING
- track = [[[MainController sharedController] currentRemote] currentSongTrack];
+ track = [mtr currentSongTrack];
NS_HANDLER
[[MainController sharedController] networkError:localException];
NS_ENDHANDLER
}
NS_DURING
- if ([defaults boolForKey:@"showTime"] && ( ([[[MainController sharedController] currentRemote] currentSongElapsed] != nil) || ([[[MainController sharedController] currentRemote] currentSongLength] != nil) )) {
- ITDebugLog(@"Add Track Elapsed (\"%@/%@\") menu item.", [[[MainController sharedController] currentRemote] currentSongElapsed], [[[MainController sharedController] currentRemote] currentSongLength]);
- [menu indentItem:[menu addItemWithTitle:[NSString stringWithFormat:@"%@/%@", [[[MainController sharedController] currentRemote] currentSongElapsed], [[[MainController sharedController] currentRemote] currentSongLength]] action:nil keyEquivalent:@""]];
+ if ([defaults boolForKey:@"showTime"] && ( ([mtr currentSongElapsed] != nil) || ([mtr currentSongLength] != nil) )) {
+ ITDebugLog(@"Add Track Elapsed (\"%@/%@\") menu item.", [mtr currentSongElapsed], [mtr currentSongLength]);
+ [menu indentItem:[menu addItemWithTitle:[NSString stringWithFormat:@"%@/%@", [mtr currentSongElapsed], [mtr currentSongLength]] action:nil keyEquivalent:@""]];
}
NS_HANDLER
[[MainController sharedController] networkError:localException];
if (!_playingRadio) {
NS_DURING
- if ([defaults boolForKey:@"showTrackRating"] && ( [[[MainController sharedController] currentRemote] currentSongRating] != -1.0 )) {
+ if ([defaults boolForKey:@"showPlayCount"] && [mtr currentSource] == ITMTRemoteLibrarySource) {
+ [menu indentItem:[menu addItemWithTitle:[NSString stringWithFormat:@"Play Count: %i", [mtr currentSongPlayCount]] action:nil keyEquivalent:@""]];
+ }
+ if ([defaults boolForKey:@"showTrackRating"] && ( [mtr currentSongRating] != -1.0 )) {
NSString *string = nil;
- switch ((int)([[[MainController sharedController] currentRemote] currentSongRating] * 5)) {
+ switch ((int)([mtr currentSongRating] * 5)) {
case 0:
string = [NSString stringWithUTF8String:"☆☆☆☆☆"];
break;
NS_ENDHANDLER
/*if ([tempItem respondsToSelector:@selector(setAttributedTitle:)] && [defaults boolForKey:@"showAlbumArtwork"] && ![[NetworkController sharedController] isConnectedToServer]) {
- NSImage *image = [[[MainController sharedController] currentRemote] currentSongAlbumArt];
+ NSImage *image = [mtr currentSongAlbumArt];
if (image) {
NSSize oldSize, newSize;
oldSize = [image size];
[tempItem setState:NSOffState];
}
NS_DURING
- [[_eqMenu itemAtIndex:([[[MainController sharedController] currentRemote] currentEQPresetIndex] - 1)] setState:NSOnState];
+ [[_eqMenu itemAtIndex:0] setState:[mtr equalizerEnabled] ? NSOnState : NSOffState];
+ [[_eqMenu itemAtIndex:([mtr currentEQPresetIndex] + 1)] setState:NSOnState];
+ [[_eqMenu itemAtIndex:([mtr currentEQPresetIndex] - 1)] setState:NSOnState];
NS_HANDLER
[[MainController sharedController] networkError:localException];
NS_ENDHANDLER
}
NS_DURING
- [[_ratingMenu itemAtIndex:([[[MainController sharedController] currentRemote] currentSongRating] * 5)] setState:NSOnState];
+ [[_ratingMenu itemAtIndex:([mtr currentSongRating] * 5)] setState:NSOnState];
NS_HANDLER
[[MainController sharedController] networkError:localException];
NS_ENDHANDLER
[[playlistsMenu itemAtIndex:_currentPlaylist - 1] setState:NSOnState];
}
[indices release];
+ [playlistsMenu addItem:[NSMenuItem separatorItem]];
+ [[playlistsMenu addItemWithTitle:NSLocalizedString(@"refresh", @"Refresh") action:@selector(rebuildSubmenus) keyEquivalent:@""] setTarget:self];
ITDebugLog(@"Done Building \"Playlists\" menu");
return playlistsMenu;
}
ITDebugLog(@"Building \"EQ Presets\" menu.");
+ tempItem = [eqMenu addItemWithTitle:@"Enabled" action:@selector(performEqualizerMenuAction:) keyEquivalent:@""];
+ [tempItem setTag:-1];
+ [tempItem setTarget:self];
+ NS_DURING
+ [tempItem setState:[[[MainController sharedController] currentRemote] equalizerEnabled] ? NSOnState : NSOffState];
+ NS_HANDLER
+ [[MainController sharedController] networkError:localException];
+ NS_ENDHANDLER
+ [eqMenu addItem:[NSMenuItem separatorItem]];
+
for (i = 0; i < [eqPresets count]; i++) {
NSString *name;
if ( ( name = [eqPresets objectAtIndex:i] ) ) {