Adding methods for Equalizer enabled nonsense to the iTunes remote,
[MenuTunes.git] / MenuTunes.h
index 16e773e..89223ed 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 <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
 {
-    ITStatusItem *statusItem;
-    NSMenu *menu;
-    ComponentInstance asComponent;
-    ITMTRemote *currentRemote;
+    IBOutlet NSMenu *ratingMenu;
+    
+    ITStatusItem   *statusItem;
+    NSMenu         *menu;
+    ITMTRemote     *currentRemote;
     NSMutableArray *remoteArray;
     
     //Used in updating the menu automatically
     NSTimer *refreshTimer;
-    int curTrackIndex, curPlaylistIndex;
-    int trackInfoIndex;
-    bool isPlayingRadio;
+    int      trackInfoIndex;
+    int      lastSongIndex;
+    int      lastPlaylistIndex;
+    BOOL     isPlayingRadio;
     
-    ProcessSerialNumber iTunesPSN;
-    bool didHaveAlbumName, didHaveArtistName; //Helper variable for creating the menu
+    ITMTRemotePlayerRunningStatus 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