Bah, I thought Kent modified the MenuTunes class to accommodate the
[MenuTunes.git] / MenuTunes.h
index bdbe402..2d3c5fa 100755 (executable)
@@ -6,7 +6,7 @@
  *  Original Author : Kent Sutherland <ksuther@ithinksw.com>
  *   Responsibility : Kent Sutherland <ksuther@ithinksw.com>
  *
- *  Copyright (c) 2002 iThink Software.
+ *  Copyright (c) 2002-2003 iThink Software.
  *  All Rights Reserved
  *
  */
 
 #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;
-@class PreferencesController, StatusWindowController;
+@class PreferencesController, StatusWindow;
 
 @interface MenuTunes : NSObject
 {
-    NSStatusItem *statusItem;
-    NSMenu *menu;
-//  MenuTunesView *view;
-    ComponentInstance asComponent;
+    IBOutlet NSMenu *ratingMenu;
+    
+    ITStatusItem   *statusItem;
+    NSMenu         *menu;
+    ITMTRemote     *currentRemote;
+    NSMutableArray *remoteArray;
     
     //Used in updating the menu automatically
     NSTimer *refreshTimer;
-    int curTrackIndex;
-    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;
-    NSMenu *upcomingSongsMenu;
+    NSMenu     *upcomingSongsMenu;
     
     //For playlist selection
     NSMenuItem *playlistItem;
-    NSMenu *playlistMenu;
+    NSMenu     *playlistMenu;
     
     //For EQ sets
     NSMenuItem *eqItem;
-    NSMenu *eqMenu;
+    NSMenu     *eqMenu;
     
+    NSMenuItem *songRatingMenuItem; //Song Rating submenu item
     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)remotePlayerLaunched:(NSNotification *)note;
+- (void)remotePlayerTerminated:(NSNotification *)note;
+
+- (void)registerDefaultsIfNeeded;
 - (void)rebuildMenu;
+
+- (void)runTimerInNewThread;
+
+- (IBAction)setSongRating:(id)sender;
+
 - (void)clearHotKeys;
-- (ProcessSerialNumber)iTunesPSN;
 - (void)closePreferences;
 
 @end