X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/6b9ab466464daf5ae2427e67d20c368583bb0568..bad9de5ef29bebf5a0d07e8960b2a70a983bf86b:/MainController.m diff --git a/MainController.m b/MainController.m index f0ee9ad..eb48f5a 100755 --- a/MainController.m +++ b/MainController.m @@ -1,16 +1,27 @@ #import "NewMainController.h" +#import "MenuController.h" #import "PreferencesController.h" #import "HotKeyCenter.h" #import "StatusWindowController.h" +#import "StatusItemHack.h" @interface MainController(Private) - (ITMTRemote *)loadRemote; - (void)setupHotKeys; - (void)timerUpdate; +- (void)setLatestSongIdentifier:(NSString *)newIdentifier; +- (void)showCurrentTrackInfo; @end +static MainController *sharedController; + @implementation MainController ++ (MainController *)sharedController +{ + return sharedController; +} + /*************************************************************************/ #pragma mark - #pragma mark INITIALIZATION/DEALLOCATION METHODS @@ -19,8 +30,11 @@ - (id)init { if ( ( self = [super init] ) ) { + sharedController = self; + remoteArray = [[NSMutableArray alloc] initWithCapacity:1]; statusWindowController = [[StatusWindowController alloc] init]; + menuController = [[MenuController alloc] init]; df = [[NSUserDefaults standardUserDefaults] retain]; [self setLatestSongIdentifier:@"0-0"]; } @@ -49,6 +63,7 @@ [[PreferencesController sharedPrefs] registerDefaults]; } + [StatusItemHack install]; statusItem = [[ITStatusItem alloc] initWithStatusBar:[NSStatusBar systemStatusBar] withLength:NSSquareStatusItemLength]; @@ -161,91 +176,86 @@ */ } -/* +- (void)menuClicked +{ + [statusItem setMenu:[menuController menu]]; + NSLog(@"The menu was clix0r3d, do something!"); +} + // // // Menu Selectors // // -- (void)selectSong:(id)sender -{ - [currentRemote switchToSongAtIndex:[[sender representedObject] intValue]]; -} -*/ -- (void)selectPlaylist:(id)sender -{ - int playlist = [sender tag]; - [currentRemote switchToPlaylistAtIndex:playlist]; -} -/* -- (void)selectEQPreset:(id)sender -{ - int curSet = [currentRemote currentEQPresetIndex]; - int item = [sender tag]; - - [currentRemote switchToEQAtIndex:item]; - [[eqMenu itemAtIndex:curSet - 1] setState:NSOffState]; - [[eqMenu itemAtIndex:item] setState:NSOnState]; -} -*/ -/* -- (void)selectSongRating:(id)sender -{ - int newRating = [sender tag]; -// [[ratingMenu itemAtIndex:lastSongRating] setState:NSOffState]; - [sender setState:NSOnState]; - [currentRemote setCurrentSongRating:(float)newRating / 100.0]; - lastSongRating = newRating / 20; -} -*/ -/* -- (void)playPause:(id)sender +- (void)playPause { ITMTRemotePlayerPlayingState state = [currentRemote playerPlayingState]; if (state == ITMTRemotePlayerPlaying) { [currentRemote pause]; - [playPauseItem setTitle:@"Play"]; } else if ((state == ITMTRemotePlayerForwarding) || (state == ITMTRemotePlayerRewinding)) { [currentRemote pause]; [currentRemote play]; } else { [currentRemote play]; - [playPauseItem setTitle:@"Pause"]; } } -- (void)nextSong:(id)sender +- (void)nextSong { [currentRemote goToNextSong]; } -- (void)prevSong:(id)sender +- (void)prevSong { [currentRemote goToPreviousSong]; } -- (void)fastForward:(id)sender +- (void)fastForward { [currentRemote forward]; - [playPauseItem setTitle:@"Play"]; } -- (void)rewind:(id)sender +- (void)rewind { [currentRemote rewind]; - [playPauseItem setTitle:@"Play"]; } -*/ -// -// -- (void)quitMenuTunes:(id)sender +- (void)selectPlaylistAtIndex:(int)index +{ + [currentRemote switchToPlaylistAtIndex:index]; +} + +- (void)selectSongAtIndex:(int)index +{ + [currentRemote switchToSongAtIndex:index]; +} + +- (void)selectSongRating:(int)rating +{ + [currentRemote setCurrentSongRating:(float)rating / 100.0]; +} + +- (void)selectEQPresetAtIndex:(int)index +{ + [currentRemote switchToEQAtIndex:index]; +} + +- (void)showPreferences +{ + [[PreferencesController sharedPrefs] setController:self]; + [[PreferencesController sharedPrefs] showPrefsWindow:self]; +} + +- (void)quitMenuTunes { [NSApp terminate:self]; } +// +// + - (void)showPlayer:(id)sender { if ( ( playerRunningState == ITMTRemotePlayerRunning) ) { @@ -257,12 +267,6 @@ } } -- (void)showPreferences:(id)sender -{ - [[PreferencesController sharedPrefs] setController:self]; - [[PreferencesController sharedPrefs] showPrefsWindow:self]; -} - - (void)closePreferences { if ( ( playerRunningState == ITMTRemotePlayerRunning) ) { @@ -504,8 +508,9 @@ [currentRemote halt]; [statusItem release]; [statusWindowController release]; + [menuController release]; [super dealloc]; } -@end +@end \ No newline at end of file