@interface MainController(Private)
- (ITMTRemote *)loadRemote;
-- (void)timerUpdate;
- (void)setLatestSongIdentifier:(NSString *)newIdentifier;
- (void)applicationLaunched:(NSNotification *)note;
- (void)applicationTerminated:(NSNotification *)note;
globalPrefs = [[df persistentDomainForName:@".GlobalPreferences"] mutableCopy];
if (date) {
[globalPrefs setObject:date forKey:@"ITMTTrialStart"];
+ [globalPrefs setObject:[NSNumber numberWithInt:MT_CURRENT_VERSION] forKey:@"ITMTTrialVers"];
} else {
[globalPrefs removeObjectForKey:@"ITMTTrialStart"];
+ [globalPrefs removeObjectForKey:@"ITMTTrialVers"];
}
[df setPersistentDomain:globalPrefs forName:@".GlobalPreferences"];
[df synchronize];
if (![self blingBling]) {
if ( (! [self getBlingTime] ) || ([now timeIntervalSinceDate:[self getBlingTime]] < 0) ) {
[self setBlingTime:now];
+ } 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:MT_CURRENT_VERSION] forKey:@"ITMTTrialVers"];
+ [df setPersistentDomain:globalPrefs forName:@".GlobalPreferences"];
+ [df synchronize];
+ [globalPrefs release];
+ }
}
+
if ( ([now timeIntervalSinceDate:[self getBlingTime]] >= 604800) && (blinged != YES) ) {
blinged = YES;
[statusItem setEnabled:NO];
if ( [self songChanged] && (timerUpdating != YES) && (playerRunningState == ITMTRemotePlayerRunning) ) {
ITDebugLog(@"The song changed.");
- if ([df boolForKey:@"runScripts"] && [[self currentRemote] currentSongTitle]) {
+ if ([df boolForKey:@"runScripts"]) {
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];
+ NSLog(@"Running script: %@", nextScript);
if (!currentScript || ![currentScript executeAndReturnError:nil]) {
ITDebugLog(@"Error running script %@.", nextScript);
}
}
if ( [df boolForKey:@"showAlbumArtwork"] ) {
+ NSSize oldSize, newSize;
NS_DURING
- art = [[self currentRemote] currentSongAlbumArt];
- art = [[[[NSImage alloc] initWithData:[art TIFFRepresentation]] autorelease] imageScaledSmoothlyToSize:NSMakeSize(110,110)];
+ art = [[self currentRemote] currentSongAlbumArt];
+ oldSize = [art size];
+ if (oldSize.width > oldSize.height) newSize = NSMakeSize(110,oldSize.height * (110.0f / oldSize.width));
+ else newSize = NSMakeSize(oldSize.width * (110.0f / oldSize.height),110);
+ art = [[[[NSImage alloc] initWithData:[art TIFFRepresentation]] autorelease] imageScaledSmoothlyToSize:newSize];
NS_HANDLER
[self networkError:localException];
NS_ENDHANDLER
[super dealloc];
}
-@end
\ No newline at end of file
+@end