Tons of new stuff. Made is compile now too :)
[MenuTunes.git] / MainController.m
index f0ee9ad..eb48f5a 100755 (executable)
@@ -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
 - (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];
 */
 }
 
-/*
+- (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) ) {
     }
 }
 
-- (void)showPreferences:(id)sender
-{
-    [[PreferencesController sharedPrefs] setController:self];
-    [[PreferencesController sharedPrefs] showPrefsWindow:self];
-}
-
 - (void)closePreferences
 {
     if ( ( playerRunningState == ITMTRemotePlayerRunning) ) {
     [currentRemote halt];
     [statusItem release];
     [statusWindowController release];
+    [menuController release];
     [super dealloc];
 }
 
 
-@end
+@end
\ No newline at end of file