From 50485da2e6ae0642e4dfb55ef4c0556ed6ef2a80 Mon Sep 17 00:00:00 2001 From: Kent Sutherland Date: Tue, 2 Mar 2004 01:01:22 +0000 Subject: [PATCH] Tons of changes. Fixed the iPod problem finally. Added composer to current track info options. Made the tooltip a hidden preference. --- English.lproj/Preferences.nib/classes.nib | 3 +- .../Preferences.nib/keyedobjects.nib | Bin 46386 -> 46075 bytes ITMTRemote.h | 5 +++ ITMTRemote.m | 5 +++ MainController.h | 1 + MainController.m | 15 +++++++++ MenuController.m | 31 ++++++++++++------ PreferencesController.h | 3 +- PreferencesController.m | 22 +++++++------ StatusWindowController.h | 1 + StatusWindowController.m | 4 +++ iTunesRemote.m | 13 ++++++++ 12 files changed, 79 insertions(+), 24 deletions(-) diff --git a/English.lproj/Preferences.nib/classes.nib b/English.lproj/Preferences.nib/classes.nib index da5de05..ac86d7f 100755 --- a/English.lproj/Preferences.nib/classes.nib +++ b/English.lproj/Preferences.nib/classes.nib @@ -11,7 +11,6 @@ clearHotKey = id; editHotKey = id; showPrefsWindow = id; - showTestWindow = id; }; CLASS = PreferencesController; LANGUAGE = ObjC; @@ -26,6 +25,7 @@ backgroundColorWell = NSColorWell; backgroundStylePopup = NSPopUpButton; clientPasswordTextField = NSTextField; + composerCheckbox = NSButton; hostTextField = NSTextField; hotKeysTableView = NSTableView; launchAtLoginCheckbox = NSButton; @@ -53,7 +53,6 @@ sharingTableView = NSTableView; showOnChangeCheckbox = NSButton; showScriptsButton = NSButton; - showToolTipCheckbox = NSButton; songsInAdvance = NSTextField; trackNumberCheckbox = NSButton; trackTimeCheckbox = NSButton; diff --git a/English.lproj/Preferences.nib/keyedobjects.nib b/English.lproj/Preferences.nib/keyedobjects.nib index 81bf1b231e022690b8c9c646d71970b561f265bd..23dc0130282101d24f3601b266eb67241c0b5fa4 100755 GIT binary patch literal 46075 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

$2w%l@}C=dg5+Oqmm}KO0_7q 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 diff --git a/ITMTRemote.h b/ITMTRemote.h index 0d2c21a..a86888e 100755 --- a/ITMTRemote.h +++ b/ITMTRemote.h @@ -264,6 +264,11 @@ er's process managment. */ - (NSString *)currentSongArtist; +/*! + * @method currentSongComposer + */ +- (NSString *)currentSongComposer; + /*! * @method currentSongAlbum */ diff --git a/ITMTRemote.m b/ITMTRemote.m index 55e599b..26fe9a0 100755 --- a/ITMTRemote.m +++ b/ITMTRemote.m @@ -139,6 +139,11 @@ return nil; } +- (NSString *)currentSongComposer +{ + return nil; +} + - (NSString *)currentSongAlbum { return nil; diff --git a/MainController.h b/MainController.h index 08722af..2c0cf32 100755 --- a/MainController.h +++ b/MainController.h @@ -85,6 +85,7 @@ - (void)clearHotKeys; - (void)setupHotKeys; - (void)closePreferences; +- (MenuController *)menuController; - (void)showCurrentTrackInfo; diff --git a/MainController.m b/MainController.m index e0230ff..940766c 100755 --- a/MainController.m +++ b/MainController.m @@ -588,6 +588,11 @@ static MainController *sharedController; // // +- (MenuController *)menuController +{ + return menuController; +} + - (void)closePreferences { ITDebugLog(@"Preferences closed."); @@ -759,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; @@ -791,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:@"%@: %@ / %@", @@ -853,6 +867,7 @@ static MainController *sharedController; title:title album:album artist:artist + composer:composer time:time track:track rating:rating diff --git a/MenuController.m b/MenuController.m index f666bdf..508237e 100755 --- a/MenuController.m +++ b/MenuController.m @@ -270,6 +270,20 @@ } } + if ([defaults boolForKey:@"showComposer"]) { + NSString *curComposer; + NS_DURING + curComposer = [[[MainController sharedController] currentRemote] currentSongComposer]; + NS_HANDLER + [[MainController sharedController] networkError:localException]; + NS_ENDHANDLER + ITDebugLog(@"Add Track Composer (\"%@\") menu item.", curComposer); + if ( curComposer ) { + [menu indentItem: + [menu addItemWithTitle:curComposer action:nil keyEquivalent:@""]]; + } + } + if ([defaults boolForKey:@"showTrackNumber"]) { int track; NS_DURING @@ -608,15 +622,9 @@ NSMenu *submenu = [[NSMenu alloc] init]; ITDebugLog(@"Adding source: %@", name); - if ([[curPlaylist objectAtIndex:1] intValue] == ITMTRemoteiPodSource) { - NSLog(@"We have an iPod!"); - NSLog(@"This iPod is named %@!", name); - NSLog(@"Does it update automagically?"); - NSLog(@"Result: %i", [self iPodWithNameAutomaticallyUpdates:name]); - } - if ( ([[curPlaylist objectAtIndex:1] intValue] == ITMTRemoteiPodSource) && [self iPodWithNameAutomaticallyUpdates:name] ) { ITDebugLog(@"Invalid iPod source."); + [playlistsMenu addItemWithTitle:name action:NULL keyEquivalent:@""]; } else { for (j = 3; j < [curPlaylist count]; j++) { ITDebugLog(@"Adding playlist: %@", [curPlaylist objectAtIndex:j]); @@ -1000,7 +1008,8 @@ NSString *nextVolume; ITDebugLog(@"Looking for an iPod named %@", name); while ( (nextVolume = [volEnum nextObject]) ) { - if ([nextVolume rangeOfString:name options:nil range:NSMakeRange(0, [name length] - 1)].location != NSNotFound) { + ITDebugLog(@"- %@", nextVolume); + if ([nextVolume rangeOfString:name options:nil /*range:NSMakeRange(0, [name length] - 1)*/].location != NSNotFound) { NSFileHandle *handle; NSData *data; NSString *path = [nextVolume stringByAppendingPathComponent:@"/iPod_Control/iTunes/iTunesPrefs"]; @@ -1008,9 +1017,11 @@ ITDebugLog(@"Error, path isn't an iPod! %@", path); return NO; } - handle = [NSFileHandle fileHandleForReadingAtPath:name]; + handle = [NSFileHandle fileHandleForReadingAtPath:path]; + ITDebugLog(@"File handle: %@", handle); [handle seekToFileOffset:10]; data = [handle readDataOfLength:1]; + ITDebugLog(@"Data: %@", data); if ( (*((unsigned char*)[data bytes]) == 0x00) ) { ITDebugLog(@"iPod is manually updated. %@", path); return NO; @@ -1023,7 +1034,7 @@ } } } - return NO; + return YES; } @end \ No newline at end of file diff --git a/PreferencesController.h b/PreferencesController.h index c52d9ad..52e4e5d 100755 --- a/PreferencesController.h +++ b/PreferencesController.h @@ -28,6 +28,7 @@ IBOutlet NSColorWell *backgroundColorWell; IBOutlet NSPopUpButton *backgroundColorPopup; IBOutlet NSTextField *clientPasswordTextField; + IBOutlet NSButton *composerCheckbox; IBOutlet NSTextField *hostTextField; IBOutlet NSTableView *hotKeysTableView; IBOutlet NSButton *launchAtLoginCheckbox; @@ -55,7 +56,6 @@ IBOutlet NSTableView *sharingTableView; IBOutlet NSButton *showOnChangeCheckbox; IBOutlet NSButton *showScriptsButton; - IBOutlet NSButton *showToolTipCheckbox; IBOutlet NSTextField *songsInAdvance; IBOutlet NSButton *trackNumberCheckbox; IBOutlet NSButton *trackTimeCheckbox; @@ -94,7 +94,6 @@ - (IBAction)clearHotKey:(id)sender; - (IBAction)editHotKey:(id)sender; - (IBAction)showPrefsWindow:(id)sender; -- (IBAction)showTestWindow:(id)sender; - (void)registerDefaults; - (void)deletePressedInTableView:(NSTableView *)tableView; diff --git a/PreferencesController.m b/PreferencesController.m index c962b52..51271ab 100755 --- a/PreferencesController.m +++ b/PreferencesController.m @@ -1,5 +1,6 @@ #import "PreferencesController.h" #import "MainController.h" +#import "MenuController.h" #import "NetworkController.h" #import "NetworkObject.h" #import "StatusWindow.h" @@ -206,11 +207,6 @@ static PreferencesController *prefs = nil; [window makeKeyWindow]; } -- (IBAction)showTestWindow:(id)sender -{ - [controller showTestWindow]; -} - - (IBAction)changeGeneralSetting:(id)sender { ITDebugLog(@"Changing general setting of tag %i.", [sender tag]); @@ -220,12 +216,14 @@ static PreferencesController *prefs = nil; [df setBool:SENDER_STATE forKey:@"LaunchPlayerWithMT"]; } else if ( [sender tag] == 1030) { [df setInteger:[sender intValue] forKey:@"SongsInAdvance"]; - + [[controller menuController] rebuildSubmenus]; } else if ( [sender tag] == 1040) { // This will not be executed. Song info always shows the title of the song. // [df setBool:SENDER_STATE forKey:@"showName"]; } else if ( [sender tag] == 1050) { [df setBool:SENDER_STATE forKey:@"showArtist"]; + } else if ( [sender tag] == 1055) { + [df setBool:SENDER_STATE forKey:@"showComposer"]; } else if ( [sender tag] == 1060) { [df setBool:SENDER_STATE forKey:@"showAlbum"]; } else if ( [sender tag] == 1070) { @@ -236,8 +234,6 @@ static PreferencesController *prefs = nil; [df setBool:SENDER_STATE forKey:@"showTrackRating"]; } else if ( [sender tag] == 1100) { [df setBool:SENDER_STATE forKey:@"showAlbumArtwork"]; - } else if ( [sender tag] == 1105) { - [df setBool:SENDER_STATE forKey:@"showToolTip"]; } else if ( [sender tag] == 1110) { [df setBool:SENDER_STATE forKey:@"runScripts"]; if (SENDER_STATE) { @@ -450,10 +446,12 @@ static PreferencesController *prefs = nil; } else if ( [sender tag] == 2030) { [self setStatusWindowEntryEffect:[[sender selectedItem] representedObject]]; + [(MainController *)controller showCurrentTrackInfo]; } else if ( [sender tag] == 2040) { [self setStatusWindowExitEffect:[[sender selectedItem] representedObject]]; + [(MainController *)controller showCurrentTrackInfo]; } else if ( [sender tag] == 2050) { float newTime = ( -([sender floatValue]) ); @@ -487,9 +485,11 @@ static PreferencesController *prefs = nil; } [df setInteger:setting forKey:@"statusWindowBackgroundMode"]; + [(MainController *)controller showCurrentTrackInfo]; } else if ( [sender tag] == 2091) { [self setCustomColor:[sender color] updateWell:NO]; + [(MainController *)controller showCurrentTrackInfo]; } else if ( [sender tag] == 2092) { int selectedItem = [sender indexOfSelectedItem]; @@ -507,6 +507,7 @@ static PreferencesController *prefs = nil; } else { [self setCustomColor:[NSColor colorWithCalibratedWhite:0.15 alpha:0.70] updateWell:YES]; } + [(MainController *)controller showCurrentTrackInfo]; } else if ( [sender tag] == 2095) { [df setInteger:[sender indexOfSelectedItem] forKey:@"statusWindowSizing"]; @@ -544,7 +545,9 @@ static PreferencesController *prefs = nil; [df setBool:YES forKey:@"showArtist"]; [df setBool:YES forKey:@"showAlbumArtwork"]; [df setBool:NO forKey:@"showAlbum"]; + [df setBool:NO forKey:@"showComposer"]; [df setBool:NO forKey:@"showTime"]; + [df setBool:NO forKey:@"showToolTip"]; [df setObject:@"ITCutWindowEffect" forKey:@"statusWindowAppearanceEffect"]; [df setObject:@"ITDissolveWindowEffect" forKey:@"statusWindowVanishEffect"]; @@ -796,13 +799,12 @@ static PreferencesController *prefs = nil; [nameCheckbox setState:NSOnState]; // Song info will ALWAYS show song title. [nameCheckbox setEnabled:NO]; // Song info will ALWAYS show song title. [artistCheckbox setState:[df boolForKey:@"showArtist"] ? NSOnState : NSOffState]; + [composerCheckbox setState:[df boolForKey:@"showComposer"] ? NSOnState : NSOffState]; [trackTimeCheckbox setState:[df boolForKey:@"showTime"] ? NSOnState : NSOffState]; [trackNumberCheckbox setState:[df boolForKey:@"showTrackNumber"] ? NSOnState : NSOffState]; [ratingCheckbox setState:[df boolForKey:@"showTrackRating"] ? NSOnState : NSOffState]; [albumArtworkCheckbox setState:[df boolForKey:@"showAlbumArtwork"] ? NSOnState : NSOffState]; - [showToolTipCheckbox setState:[df boolForKey:@"showToolTip"] ? NSOnState : NSOffState]; - if ([df boolForKey:@"runScripts"]) { [runScriptsCheckbox setState:NSOnState]; [showScriptsButton setEnabled:YES]; diff --git a/StatusWindowController.h b/StatusWindowController.h index a3c36ea..c0ec9eb 100755 --- a/StatusWindowController.h +++ b/StatusWindowController.h @@ -46,6 +46,7 @@ typedef enum { title: (NSString *)title album: (NSString *)album artist: (NSString *)artist + composer: (NSString *)composer time: (NSString *)time // FLOW: Should probably be NSDate or something. track: (NSString *)track rating: (int)rating diff --git a/StatusWindowController.m b/StatusWindowController.m index 2020530..fac506c 100755 --- a/StatusWindowController.m +++ b/StatusWindowController.m @@ -103,6 +103,7 @@ static StatusWindowController *sharedController; title: (NSString *)title album: (NSString *)album artist: (NSString *)artist + composer: (NSString *)composer time: (NSString *)time // FLOW: Should probably be NSDate or something. track: (NSString *)track rating: (int)rating @@ -135,6 +136,9 @@ static StatusWindowController *sharedController; if ( artist ) { text = [text stringByAppendingString:[@"\n" stringByAppendingString:artist]]; } + if ( composer ) { + text = [text stringByAppendingString:[@"\n" stringByAppendingString:composer]]; + } if ( time ) { text = [text stringByAppendingString:[@"\n" stringByAppendingString:time]]; } diff --git a/iTunesRemote.m b/iTunesRemote.m index 3936926..bf672e1 100755 --- a/iTunesRemote.m +++ b/iTunesRemote.m @@ -377,6 +377,19 @@ return ( ([temp1 length]) ? temp1 : nil ) ; } +- (NSString *)currentSongComposer +{ + NSString *temp1; + ITDebugLog(@"Getting current song artist."); + if ( [self currentPlaylistClass] != ITMTRemotePlayerRadioPlaylist ) { + temp1 = [[ITAppleEventCenter sharedCenter] sendTwoTierAEWithRequestedKey:@"pCmp" fromObjectByKey:@"pTrk" eventClass:@"core" eventID:@"getd" appPSN:savedPSN]; + } else { + temp1 = @""; + } + ITDebugLog(@"Getting current song artist done."); + return ( ([temp1 length]) ? temp1 : nil ) ; +} + - (NSString *)currentSongAlbum { NSString *temp1; -- 2.20.1