NS_HANDLER
[self networkError:localException];
NS_ENDHANDLER
+ _timeUpdateCount = 0;
+ [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateTime:) userInfo:nil repeats:YES];
}
if ( [df boolForKey:@"showTrackNumber"] ) {
image:art];
}
+- (void)updateTime:(NSTimer *)timer
+{
+ StatusWindow *sw = [StatusWindow sharedWindow];
+ _timeUpdateCount++;
+ if (_timeUpdateCount < (int)[sw exitDelay] + (int)[[sw exitEffect] effectTime] + (int)[[sw entryEffect] effectTime]) {
+ NSString *time = nil;
+ NS_DURING
+ time = [NSString stringWithFormat:@"%@: %@ / %@",
+ NSLocalizedString(@"time", @"Time"),
+ [[self currentRemote] currentSongElapsed],
+ [[self currentRemote] currentSongLength]];
+ [[StatusWindowController sharedController] updateTime:time];
+ NS_HANDLER
+ [self networkError:localException];
+ NS_ENDHANDLER
+ } else {
+ [timer invalidate];
+ }
+}
+
- (void)showUpcomingSongs
{
int numSongs = 0;
- (void)toggleSongShufflable
{
- NS_DURING
- BOOL flag = ![[self currentRemote] currentSongShufflable];
- ITDebugLog(@"Toggling shufflability.");
- [[self currentRemote] setCurrentSongShufflable:flag];
- //Show song shufflability status window
- //[statusWindowController showSongShuffabilityWindow:flag];
- NS_HANDLER
- [self networkError:localException];
- NS_ENDHANDLER
+ if ([self songIsPlaying]) {
+ NS_DURING
+ BOOL flag = ![[self currentRemote] currentSongShufflable];
+ ITDebugLog(@"Toggling shufflability.");
+ [[self currentRemote] setCurrentSongShufflable:flag];
+ //Show song shufflability status window
+ [statusWindowController showSongShufflabilityWindow:flag];
+ NS_HANDLER
+ [self networkError:localException];
+ NS_ENDHANDLER
+ }
}
- (void)registerNowOK