From: Kent Sutherland Date: Wed, 4 Jun 2003 17:27:04 +0000 (+0000) Subject: Moo. X-Git-Tag: v1.0~100 X-Git-Url: http://git.ithinksw.org/MenuTunes.git/commitdiff_plain/ce07e58f56b64ce6eea89ecbd66fa7bb8af57519 Moo. --- diff --git a/English.lproj/Preferences.nib/classes.nib b/English.lproj/Preferences.nib/classes.nib index d273da6..2f70038 100755 --- a/English.lproj/Preferences.nib/classes.nib +++ b/English.lproj/Preferences.nib/classes.nib @@ -28,6 +28,7 @@ previousTrackButton = NSButton; ratingDecrementButton = NSButton; ratingIncrementButton = NSButton; + showPlayerButton = NSButton; songsInAdvance = NSTextField; toggleLoopButton = NSButton; toggleShuffleButton = NSButton; @@ -35,7 +36,6 @@ trackNumberCheckbox = NSButton; trackTimeCheckbox = NSButton; upcomingSongsButton = NSButton; - visualizerButton = NSButton; volumeDecrementButton = NSButton; volumeIncrementButton = NSButton; window = NSWindow; diff --git a/English.lproj/Preferences.nib/keyedobjects.nib b/English.lproj/Preferences.nib/keyedobjects.nib index e08d867..8464e8c 100755 Binary files a/English.lproj/Preferences.nib/keyedobjects.nib and b/English.lproj/Preferences.nib/keyedobjects.nib differ diff --git a/MainController.m b/MainController.m index ea44696..16738a3 100755 --- a/MainController.m +++ b/MainController.m @@ -294,6 +294,7 @@ static MainController *sharedController; [[HotKeyCenter sharedCenter] removeHotKey:@"NextTrack"]; [[HotKeyCenter sharedCenter] removeHotKey:@"PrevTrack"]; [[HotKeyCenter sharedCenter] removeHotKey:@"TrackInfo"]; + [[HotKeyCenter sharedCenter] removeHotKey:@"ShowPlayer"]; [[HotKeyCenter sharedCenter] removeHotKey:@"UpcomingSongs"]; [[HotKeyCenter sharedCenter] removeHotKey:@"ToggleLoop"]; [[HotKeyCenter sharedCenter] removeHotKey:@"ToggleShuffle"]; @@ -323,6 +324,12 @@ static MainController *sharedController; target:self action:@selector(prevSong)]; } + if ([df objectForKey:@"ShowPlayer"] != nil) { + [[HotKeyCenter sharedCenter] addHotKey:@"ShowPlayer" + combo:[df keyComboForKey:@"ShowPlayer"] + target:self action:@selector(showPlayer)]; + } + if ([df objectForKey:@"TrackInfo"] != nil) { [[HotKeyCenter sharedCenter] addHotKey:@"TrackInfo" combo:[df keyComboForKey:@"TrackInfo"] @@ -540,7 +547,12 @@ static MainController *sharedController; [currentRemote begin]; [self setLatestSongIdentifier:@""]; [self timerUpdate]; - [NSThread detachNewThreadSelector:@selector(startTimerInNewThread) toTarget:self withObject:nil]; + refreshTimer = [[NSTimer scheduledTimerWithTimeInterval:0.5 + target:self + selector:@selector(timerUpdate) + userInfo:nil + repeats:YES] retain]; + //[NSThread detachNewThreadSelector:@selector(startTimerInNewThread) toTarget:self withObject:nil]; [self setupHotKeys]; playerRunningState = ITMTRemotePlayerRunning; } diff --git a/MenuController.m b/MenuController.m index 94dc8c8..43a1a65 100755 --- a/MenuController.m +++ b/MenuController.m @@ -137,6 +137,13 @@ } } else if ([nextObject isEqualToString:@"Show Player"]) { tempItem = [menu addItemWithTitle:[NSString stringWithFormat:@"Show %@", [[[MainController sharedController] currentRemote] playerSimpleName]] action:@selector(performMainMenuAction:) keyEquivalent:@""]; + + if ( (keyCombo = [[HotKeyCenter sharedCenter] keyComboForName:@"ShowPlayer"]) ) { + [self setKeyEquivalentForCode:[keyCombo keyCode] + andModifiers:[keyCombo modifiers] + onItem:tempItem]; + } + [tempItem setTarget:self]; [tempItem setTag:MTMenuShowPlayerItem]; } else if ([nextObject isEqualToString:@"Preferences"]) { @@ -177,9 +184,12 @@ } if ([defaults boolForKey:@"showTrackNumber"]) { - [menu addItemWithTitle:[NSString stringWithFormat:@" Track %i", [currentRemote currentSongTrack]] + int track = [currentRemote currentSongTrack]; + if (track) { + [menu addItemWithTitle:[NSString stringWithFormat:@" Track %i", track] action:nil keyEquivalent:@""]; + } } if ([defaults boolForKey:@"showTime"]) { diff --git a/PreferencesController.h b/PreferencesController.h index effb259..53c843d 100755 --- a/PreferencesController.h +++ b/PreferencesController.h @@ -38,7 +38,7 @@ IBOutlet NSButton *trackNumberCheckbox; IBOutlet NSButton *trackTimeCheckbox; IBOutlet NSButton *upcomingSongsButton; - IBOutlet NSButton *visualizerButton; + IBOutlet NSButton *showPlayerButton; IBOutlet NSButton *volumeDecrementButton; IBOutlet NSButton *volumeIncrementButton; IBOutlet NSWindow *window; diff --git a/PreferencesController.m b/PreferencesController.m index 4f43e26..cc341e9 100755 --- a/PreferencesController.m +++ b/PreferencesController.m @@ -160,8 +160,8 @@ static PreferencesController *prefs = nil; [self setCurrentHotKey:@"PrevTrack"]; break; case 4035: - [self setKeyCombo:[hotKeysDictionary objectForKey:@"ToggleVisualizer"]]; - [self setCurrentHotKey:@"ToggleVisualizer"]; + [self setKeyCombo:[hotKeysDictionary objectForKey:@"ShowPlayer"]]; + [self setCurrentHotKey:@"ShowPlayer"]; break; case 4040: [self setKeyCombo:[hotKeysDictionary objectForKey:@"ToggleLoop"]]; @@ -300,8 +300,8 @@ static PreferencesController *prefs = nil; [nextTrackButton setTitle:@""]; } else if ([enumKey isEqualToString:@"PrevTrack"]) { [previousTrackButton setTitle:@""]; - } else if ([enumKey isEqualToString:@"ToggleVisualizer"]) { - [visualizerButton setTitle:@""]; + } else if ([enumKey isEqualToString:@"ShowPlayer"]) { + [showPlayerButton setTitle:@""]; } else if ([enumKey isEqualToString:@"TrackInfo"]) { [trackInfoButton setTitle:@""]; } else if ([enumKey isEqualToString:@"UpcomingSongs"]) { @@ -340,9 +340,9 @@ static PreferencesController *prefs = nil; } else if ([currentHotKey isEqualToString:@"PrevTrack"]) { [previousTrackButton setTitle:string]; [[HotKeyCenter sharedCenter] addHotKey:@"PrevTrack" combo:combo target:[MainController sharedController] action:@selector(prevSong)]; - } else if ([currentHotKey isEqualToString:@"ToggleVisualizer"]) { - [visualizerButton setTitle:string]; - //[[HotKeyCenter sharedCenter] addHotKey:@"ToggleVisualizer" combo:combo target:[MainController sharedController] selector:@selector(NULL)]; + } else if ([currentHotKey isEqualToString:@"ShowPlayer"]) { + [showPlayerButton setTitle:string]; + [[HotKeyCenter sharedCenter] addHotKey:@"ShowPlayer" combo:combo target:[MainController sharedController] action:@selector(showPlayer)]; } else if ([currentHotKey isEqualToString:@"TrackInfo"]) { [trackInfoButton setTitle:string]; [[HotKeyCenter sharedCenter] addHotKey:@"TrackInfo" combo:combo target:[MainController sharedController] action:@selector(showCurrentTrackInfo)]; @@ -523,12 +523,12 @@ static PreferencesController *prefs = nil; [hotKeysDictionary setObject:[KeyCombo keyCombo] forKey:@"PrevTrack"]; } - if ([df objectForKey:@"ToggleVisualizer"]) { - anItem = [df keyComboForKey:@"ToggleVisualizer"]; - [hotKeysDictionary setObject:anItem forKey:@"ToggleVisualizer"]; - [visualizerButton setTitle:[anItem userDisplayRep]]; + if ([df objectForKey:@"ShowPlayer"]) { + anItem = [df keyComboForKey:@"ShowPlayer"]; + [hotKeysDictionary setObject:anItem forKey:@"ShowPlayer"]; + [showPlayerButton setTitle:[anItem userDisplayRep]]; } else { - [hotKeysDictionary setObject:[KeyCombo keyCombo] forKey:@"ToggleVisualizer"]; + [hotKeysDictionary setObject:[KeyCombo keyCombo] forKey:@"ShowPlayer"]; } if ([df objectForKey:@"TrackInfo"]) { diff --git a/TODO.rtf b/TODO.rtf index 194e86f..0c7bc71 100755 --- a/TODO.rtf +++ b/TODO.rtf @@ -11,16 +11,20 @@ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural \f2\fs20 \cf0 MainController:\ +We now run on only one thread so that we don't have rebuild timing problems\ Hot keys need to work with FKeys and no modifier\ Make status windows work\ \ MenuController:\ Space key equivalent needs to show up\ +If you try to open iTunes, and then build the menu, it breaks waiting for iTunes to respond to AEs.\ \ -iTunesRemote:\ -Toggling shuffle, loop and show player don't work.\ +PreferencesController:\ +Do we want that preferences checkbox "Launch iTunes When MenuTunes Launches"? It isn't very pluginesque and I think our menu saying launch player is good enough.\ \ -I need to add toggle visualier hotkey. I think we should change it to Show Player though +iTunesRemote:\ +-showPrimaryInterface doesn't show the browser window it and unminimize it\ +Toggling shuffle and toggle loop don't work \f1\fs28 \ \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural