Bah, I thought Kent modified the MenuTunes class to accommodate the
[MenuTunes.git] / MenuTunes.h
index e726be6..2d3c5fa 100755 (executable)
@@ -1,54 +1,77 @@
-/* MenuTunes */
+/*
+ *     MenuTunes
+ *  MenuTunes
+ *    App Controller Class
+ *
+ *  Original Author : Kent Sutherland <ksuther@ithinksw.com>
+ *   Responsibility : Kent Sutherland <ksuther@ithinksw.com>
+ *
+ *  Copyright (c) 2002-2003 iThink Software.
+ *  All Rights Reserved
+ *
+ */
+
 
 #import <Cocoa/Cocoa.h>
 #import <Carbon/Carbon.h>
 
 #import <Cocoa/Cocoa.h>
 #import <Carbon/Carbon.h>
+#import <ITKit/ITKit.h>
+#import <ITFoundation/ITFoundation.h>
+#import <ITMTRemote/ITMTRemote.h>
+#import <StatusWindow.h>
 
 
-@class MenuTunesView, PreferencesController, StatusWindowController;
+//@class MenuTunesView;
+@class PreferencesController, StatusWindow;
 
 @interface MenuTunes : NSObject
 {
 
 @interface MenuTunes : NSObject
 {
-    NSStatusItem *statusItem;
-    NSMenu *menu;
-    MenuTunesView *view;
+    IBOutlet NSMenu *ratingMenu;
+    
+    ITStatusItem   *statusItem;
+    NSMenu         *menu;
+    ITMTRemote     *currentRemote;
+    NSMutableArray *remoteArray;
     
     //Used in updating the menu automatically
     NSTimer *refreshTimer;
     
     //Used in updating the menu automatically
     NSTimer *refreshTimer;
-    int curTrackIndex;
-    NSString *curPlaylist;
-    int trackInfoIndex;
+    int      trackInfoIndex;
+    int      lastSongIndex;
+    int      lastPlaylistIndex;
+    BOOL     isPlayingRadio;
     
     
-    ProcessSerialNumber iTunesPSN;
-    bool didHaveAlbumName; //Helper variable for creating the menu
+    ITMTRemotePlayerRunningState isAppRunning;
+    BOOL didHaveAlbumName;
+    BOOL didHaveArtistName; //Helper variable for creating the menu
     
     //For upcoming songs
     NSMenuItem *upcomingSongsItem;
     
     //For upcoming songs
     NSMenuItem *upcomingSongsItem;
-    NSMenu *upcomingSongsMenu;
+    NSMenu     *upcomingSongsMenu;
     
     //For playlist selection
     NSMenuItem *playlistItem;
     
     //For playlist selection
     NSMenuItem *playlistItem;
-    NSMenu *playlistMenu;
+    NSMenu     *playlistMenu;
     
     
+    //For EQ sets
+    NSMenuItem *eqItem;
+    NSMenu     *eqMenu;
+    
+    NSMenuItem *songRatingMenuItem; //Song Rating submenu item
     NSMenuItem *playPauseMenuItem; //Toggle between 'Play' and 'Pause'
     
     PreferencesController *prefsController;
     NSMenuItem *playPauseMenuItem; //Toggle between 'Play' and 'Pause'
     
     PreferencesController *prefsController;
-    StatusWindowController *statusController; //Shows track info and upcoming songs.
+    StatusWindow *statusWindow; //Shows track info and upcoming songs.
 }
 
 }
 
-- (void)rebuildMenu;
-- (void)updateMenu;
-- (void)rebuildUpcomingSongsMenu;
-- (void)rebuildPlaylistMenu;
-
-- (void)clearHotKeys;
-- (void)setupHotKeys;
+- (void)remotePlayerLaunched:(NSNotification *)note;
+- (void)remotePlayerTerminated:(NSNotification *)note;
 
 
-- (NSString *)runScriptAndReturnResult:(NSString *)script;
-- (void)timerUpdate;
+- (void)registerDefaultsIfNeeded;
+- (void)rebuildMenu;
 
 
-- (ProcessSerialNumber)iTunesPSN;
+- (void)runTimerInNewThread;
 
 
-- (void)sendAEWithEventClass:(AEEventClass)eventClass andEventID:(AEEventID)eventID;
+- (IBAction)setSongRating:(id)sender;
 
 
+- (void)clearHotKeys;
 - (void)closePreferences;
 
 @end
 - (void)closePreferences;
 
 @end