previousTrackButton = NSButton;
ratingDecrementButton = NSButton;
ratingIncrementButton = NSButton;
+ showPlayerButton = NSButton;
songsInAdvance = NSTextField;
toggleLoopButton = NSButton;
toggleShuffleButton = NSButton;
trackNumberCheckbox = NSButton;
trackTimeCheckbox = NSButton;
upcomingSongsButton = NSButton;
- visualizerButton = NSButton;
volumeDecrementButton = NSButton;
volumeIncrementButton = NSButton;
window = NSWindow;
[[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"];
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"]
[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;
}
}
} 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"]) {
}
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"]) {
IBOutlet NSButton *trackNumberCheckbox;
IBOutlet NSButton *trackTimeCheckbox;
IBOutlet NSButton *upcomingSongsButton;
- IBOutlet NSButton *visualizerButton;
+ IBOutlet NSButton *showPlayerButton;
IBOutlet NSButton *volumeDecrementButton;
IBOutlet NSButton *volumeIncrementButton;
IBOutlet NSWindow *window;
[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"]];
[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"]) {
} 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)];
[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"]) {
\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