[[ratingMenu addItemWithTitle:[NSString stringWithFormat:@"%@%@%@%@%@", fullStarChar, fullStarChar, fullStarChar, emptyStarChar, emptyStarChar] action:@selector(selectSongRating:) keyEquivalent:@""] setTag:60];
[[ratingMenu addItemWithTitle:[NSString stringWithFormat:@"%@%@%@%@%@", fullStarChar, fullStarChar, fullStarChar, fullStarChar, emptyStarChar] action:@selector(selectSongRating:) keyEquivalent:@""] setTag:80];
[[ratingMenu addItemWithTitle:[NSString stringWithFormat:@"%@%@%@%@%@", fullStarChar, fullStarChar, fullStarChar, fullStarChar, fullStarChar] action:@selector(selectSongRating:) keyEquivalent:@""] setTag:100];
-
[NSThread detachNewThreadSelector:@selector(startTimerInNewThread) toTarget:self withObject:nil];
- [self rebuildMenu];
[self setupHotKeys];
+ [self rebuildMenu];
isAppRunning = ITMTRemotePlayerRunning;
- return;
}
-
- isAppRunning = ITMTRemotePlayerRunning;
- NSLog(@"applicationTerminated");
}
- (void)applicationTerminated:(NSNotification *)note
lastSongIdentifier = [[currentRemote currentSongUniqueIdentifier] retain];
//If we're in a playlist or radio mode
- if ( (trackInfoIndex > -1) ) {
+ if ( ![lastSongIdentifier isEqualToString:@"0-0"] && (trackInfoIndex > -1) ) {
NSString *title;
if ( (i = [menu indexOfItemWithTitle:@"No Song"]) ) {
if ( (i > -1) ) {
[menu removeItemAtIndex:i];
- [menu insertItemWithTitle:@"Now Playing" action:NULL keyEquivalent:@"" atIndex:i-1];
+ [menu insertItemWithTitle:@"Now Playing" action:NULL keyEquivalent:@"" atIndex:i];
}
}
[tempItem autorelease];
}
}
+
[eqItem setSubmenu:eqMenu];
[eqItem setEnabled:YES];
-
[[eqMenu itemAtIndex:([currentRemote currentEQPresetIndex] - 1)] setState:NSOnState];
}
NSString *currentIdentifier = [currentRemote currentSongUniqueIdentifier];
if (![lastSongIdentifier isEqualToString:currentIdentifier] ||
(!isPlayingRadio && ([currentRemote classOfPlaylistAtIndex:[currentRemote currentPlaylistIndex]] == ITMTRemotePlayerRadioPlaylist))) {
+ //
+ //
+ // If we want to show the new track floater, do it here!
+ //
+ //
[self rebuildMenu];
}
//Update Play/Pause menu item
if (playPauseItem){
+ //
+ //
+ // If we want to show the song played/paused, show it here!
+ //
+ //
if ([currentRemote playerPlayingState] == ITMTRemotePlayerPlaying) {
[playPauseItem setTitle:@"Pause"];
} else {
[[HotKeyCenter sharedCenter] removeHotKey:@"PrevTrack"];
[[HotKeyCenter sharedCenter] removeHotKey:@"TrackInfo"];
[[HotKeyCenter sharedCenter] removeHotKey:@"UpcomingSongs"];
+ [[HotKeyCenter sharedCenter] removeHotKey:@"ToggleLoop"];
+ [[HotKeyCenter sharedCenter] removeHotKey:@"ToggleShuffle"];
+ [[HotKeyCenter sharedCenter] removeHotKey:@"IncrementVolume"];
+ [[HotKeyCenter sharedCenter] removeHotKey:@"DecrementVolume"];
+ [[HotKeyCenter sharedCenter] removeHotKey:@"IncrementRating"];
+ [[HotKeyCenter sharedCenter] removeHotKey:@"DecrementRating"];
}
- (void)setupHotKeys
combo:[defaults keyComboForKey:@"UpcomingSongs"]
target:self action:@selector(showUpcomingSongs)];
}
+
+ if ([defaults objectForKey:@"ToggleLoop"] != nil) {
+ [[HotKeyCenter sharedCenter] addHotKey:@"ToggleLoop"
+ combo:[defaults keyComboForKey:@"ToggleLoop"]
+ target:self action:NULL/*Set this to something*/];
+ }
+
+ if ([defaults objectForKey:@"ToggleShuffle"] != nil) {
+ [[HotKeyCenter sharedCenter] addHotKey:@"ToggleShuffle"
+ combo:[defaults keyComboForKey:@"ToggleShuffle"]
+ target:self action:NULL/*Set this to something*/];
+ }
+
+ if ([defaults objectForKey:@"IncrementVolume"] != nil) {
+ [[HotKeyCenter sharedCenter] addHotKey:@"IncrementVolume"
+ combo:[defaults keyComboForKey:@"IncrementVolume"]
+ target:self action:NULL/*Set this to something*/];
+ }
+
+ if ([defaults objectForKey:@"DecrementVolume"] != nil) {
+ [[HotKeyCenter sharedCenter] addHotKey:@"DecrementVolume"
+ combo:[defaults keyComboForKey:@"DecrementVolume"]
+ target:self action:NULL/*Set this to something*/];
+ }
+
+ if ([defaults objectForKey:@"IncrementRating"] != nil) {
+ [[HotKeyCenter sharedCenter] addHotKey:@"IncrementRating"
+ combo:[defaults keyComboForKey:@"IncrementRating"]
+ target:self action:NULL/*Set this to something*/];
+ }
+
+ if ([defaults objectForKey:@"DecrementRating"] != nil) {
+ [[HotKeyCenter sharedCenter] addHotKey:@"DecrementRating"
+ combo:[defaults keyComboForKey:@"DecrementRating"]
+ target:self action:NULL/*Set this to something*/];
+ }
}
//