Made MenuController communicate with MainController
authorKent Sutherland <ksuther@ithinksw.com>
Wed, 7 May 2003 01:32:13 +0000 (01:32 +0000)
committerKent Sutherland <ksuther@ithinksw.com>
Wed, 7 May 2003 01:32:13 +0000 (01:32 +0000)
MainController.h
MainController.m
MenuController.m

index 1b77b1a..3db1655 100755 (executable)
     StatusWindowController *statusWindowController; //Shows track info and upcoming songs.
     NSUserDefaults *df;
 }
-
++ (MainController *)sharedController;
+
+//Methods called from MenuController by menu items
+- (void)playPause;
+- (void)nextSong;
+- (void)prevSong;
+- (void)fastForward;
+- (void)rewind;
+- (void)selectPlaylistAtIndex:(int)index;
+- (void)selectSongAtIndex:(int)index;
+- (void)selectSongRating:(int)rating;
+- (void)selectEQPresetAtIndex:(int)index;
+- (void)showPreferences;
+- (void)quitMenuTunes;
+
+//
 
 - (ITMTRemote *)currentRemote;
 - (void)clearHotKeys;
index f0ee9ad..475a23e 100755 (executable)
@@ -7,10 +7,19 @@
 - (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,6 +28,8 @@
 - (id)init
 {
     if ( ( self = [super init] ) ) {
+        sharedController = self;
+        
         remoteArray = [[NSMutableArray alloc] initWithCapacity:1];
         statusWindowController = [[StatusWindowController alloc] init];
         df = [[NSUserDefaults standardUserDefaults] retain];
 */
 }
 
-/*
 //
 //
 // 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) ) {
index 2212b16..f434ccc 100755 (executable)
@@ -7,7 +7,7 @@
 //
 
 #import "MenuController.h"
-
+#import "MainController.h"
 
 @implementation MenuController
 
     {
         case MTMenuPlayPauseItem:
             NSLog(@"MenuController: Play/Pause");
+            [[MainController sharedController] playPause];
+            //We're gonna have to change the Play menu item to Pause here too.
             break;
         case MTMenuFastForwardItem:
             NSLog(@"MenuController: Fast Forward");
+            [[MainController sharedController] fastForward];
+            //make sure play/pause item says sane through this
             break;
         case MTMenuRewindItem:
             NSLog(@"MenuController: Rewind");
+            [[MainController sharedController] rewind];
+            //make sure play/pause item says sane through this
             break;
         case MTMenuPreviousTrackItem:
             NSLog(@"MenuController: Previous Track");
+            [[MainController sharedController] prevSong];
             break;
         case MTMenuNextTrackItem:
             NSLog(@"MenuController: Next Track");
+            [[MainController sharedController] nextSong];
             break;
         case MTMenuPreferencesItem:
             NSLog(@"MenuController: Preferences...");
+            [[MainController sharedController] showPreferences];
             break;
         case MTMenuQuitItem:
             NSLog(@"MenuController: Quit");
+            [[MainController sharedController] quitMenuTunes];
             break;
         default:
             NSLog(@"MenuController: Unimplemented Menu Item OR Child-bearing Menu Item");
     }
 }
 
-- (void)performRatingMenuAction
+- (void)performRatingMenuAction:(id)sender
 {
+    [[MainController sharedController] selectSongRating:[sender tag]];
 }
 
-- (void)performPlaylistMenuAction
+- (void)performPlaylistMenuAction:(id)sender
 {
+    [[MainController sharedController] selectPlaylistAtIndex:[sender tag]];
 }
 
-- (void)performEqualizerMenuAction
+- (void)performEqualizerMenuAction:(id)sender
 {
+    [[MainController sharedController] selectEQItemAtIndex:[sender tag]]
 }
 
-- (void)performUpcomingSongsMenuAction
+- (void)performUpcomingSongsMenuAction:(id)sender
 {
+    [[MainController sharedController] selectSongAtIndex:[sender tag]]
 }
 
 - (void)updateMenu