X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/ca27dcbdf19a0b76ef78b3f6124bd011600a6502..635a5437a4d35597ac0fce8c5f7bcb3dd406d5e3:/MainController.m diff --git a/MainController.m b/MainController.m index a543288..ca0d38d 100755 --- a/MainController.m +++ b/MainController.m @@ -36,7 +36,6 @@ @interface MainController(Private) - (ITMTRemote *)loadRemote; -- (void)timerUpdate; - (void)setLatestSongIdentifier:(NSString *)newIdentifier; - (void)applicationLaunched:(NSNotification *)note; - (void)applicationTerminated:(NSNotification *)note; @@ -214,7 +213,7 @@ static MainController *sharedController; globalPrefs = [[df persistentDomainForName:@".GlobalPreferences"] mutableCopy]; if (date) { [globalPrefs setObject:date forKey:@"ITMTTrialStart"]; - [globalPrefs setObject:[NSNumber numberWithInt:1200] forKey:@"ITMTTrialVers"]; + [globalPrefs setObject:[NSNumber numberWithInt:MT_CURRENT_VERSION] forKey:@"ITMTTrialVers"]; } else { [globalPrefs removeObjectForKey:@"ITMTTrialStart"]; [globalPrefs removeObjectForKey:@"ITMTTrialVers"]; @@ -236,14 +235,14 @@ static MainController *sharedController; if (![self blingBling]) { if ( (! [self getBlingTime] ) || ([now timeIntervalSinceDate:[self getBlingTime]] < 0) ) { [self setBlingTime:now]; - } else if ([[[df persistentDomainForName:@".GlobalPreferences"] objectForKey:@"ITMTTrialVers"] intValue] < 1200) { + } else if ([[[df persistentDomainForName:@".GlobalPreferences"] objectForKey:@"ITMTTrialVers"] intValue] < MT_CURRENT_VERSION) { if ([now timeIntervalSinceDate:[self getBlingTime]] >= 345600) { [self setBlingTime:[now addTimeInterval:-259200]]; } else { NSMutableDictionary *globalPrefs; [df synchronize]; globalPrefs = [[df persistentDomainForName:@".GlobalPreferences"] mutableCopy]; - [globalPrefs setObject:[NSNumber numberWithInt:1200] forKey:@"ITMTTrialVers"]; + [globalPrefs setObject:[NSNumber numberWithInt:MT_CURRENT_VERSION] forKey:@"ITMTTrialVers"]; [df setPersistentDomain:globalPrefs forName:@".GlobalPreferences"]; [df synchronize]; [globalPrefs release]; @@ -349,9 +348,11 @@ static MainController *sharedController; NSArray *scripts = [[NSFileManager defaultManager] directoryContentsAtPath:[NSHomeDirectory() stringByAppendingPathComponent:@"Library/Application Support/MenuTunes/Scripts"]]; NSEnumerator *scriptsEnum = [scripts objectEnumerator]; NSString *nextScript; + ITDebugLog(@"Running AppleScripts for song change."); while ( (nextScript = [scriptsEnum nextObject]) ) { NSDictionary *error; NSAppleScript *currentScript = [[NSAppleScript alloc] initWithContentsOfURL:[NSURL fileURLWithPath:[[NSHomeDirectory() stringByAppendingPathComponent:@"Library/Application Support/MenuTunes/Scripts"] stringByAppendingPathComponent:nextScript]] error:&error]; + ITDebugLog(@"Running script: %@", nextScript); if (!currentScript || ![currentScript executeAndReturnError:nil]) { ITDebugLog(@"Error running script %@.", nextScript); } @@ -371,17 +372,23 @@ static MainController *sharedController; [self setLatestSongIdentifier:[[self currentRemote] playerStateUniqueIdentifier]]; - NSString *artist = [[self currentRemote] currentSongArtist]; - NSString *title = [[self currentRemote] currentSongTitle]; - NSString *toolTip; - if (artist) { - toolTip = [NSString stringWithFormat:@"%@ - %@", artist, title]; - } else if (title) { - toolTip = title; + //Create the tooltip for the status item + if ( [df boolForKey:@"showToolTip"] ) { + NSString *artist = [[self currentRemote] currentSongArtist]; + NSString *title = [[self currentRemote] currentSongTitle]; + NSString *toolTip; + ITDebugLog(@"Creating status item tooltip."); + if (artist) { + toolTip = [NSString stringWithFormat:@"%@ - %@", artist, title]; + } else if (title) { + toolTip = title; + } else { + toolTip = @"No Song Playing"; + } + [statusItem setToolTip:toolTip]; } else { - toolTip = @"No Song Playing"; + [statusItem setToolTip:nil]; } - [statusItem setToolTip:toolTip]; NS_HANDLER [self networkError:localException]; NS_ENDHANDLER @@ -581,6 +588,11 @@ static MainController *sharedController; // // +- (MenuController *)menuController +{ + return menuController; +} + - (void)closePreferences { ITDebugLog(@"Preferences closed."); @@ -752,6 +764,7 @@ static MainController *sharedController; NSString *title = nil; NSString *album = nil; NSString *artist = nil; + NSString *composer = nil; NSString *time = nil; NSString *track = nil; NSImage *art = nil; @@ -784,6 +797,14 @@ static MainController *sharedController; NS_ENDHANDLER } + if ( [df boolForKey:@"showComposer"] ) { + NS_DURING + composer = [[self currentRemote] currentSongComposer]; + NS_HANDLER + [self networkError:localException]; + NS_ENDHANDLER + } + if ( [df boolForKey:@"showTime"] ) { NS_DURING time = [NSString stringWithFormat:@"%@: %@ / %@", @@ -846,6 +867,7 @@ static MainController *sharedController; title:title album:album artist:artist + composer:composer time:time track:track rating:rating @@ -1231,4 +1253,4 @@ static MainController *sharedController; [super dealloc]; } -@end \ No newline at end of file +@end