-/* MenuTunes */
+/*
+ * MenuTunes
+ * MenuTunes
+ * MenuTunes Application Subclass
+ *
+ * Original Author : Kent Sutherland <ksuther@ithinksw.com>
+ * Responsibility : Kent Sutherland <ksuther@ithinksw.com>
+ *
+ * Copyright (c) 2002 iThink Software.
+ * All Rights Reserved
+ *
+ */
-#import <Cocoa/Cocoa.h>
-#import <Carbon/Carbon.h>
-@class MenuTunesView, PreferencesController, StatusWindowController;
+#import <Cocoa/Cocoa.h>
-@interface MenuTunes : NSObject
+@interface MenuTunes : NSApplication
{
- NSStatusItem *statusItem;
- NSMenu *menu;
- MenuTunesView *view;
-
- //Used in updating the menu automatically
- NSTimer *refreshTimer;
- int curTrackIndex;
- NSString *curPlaylist;
- int trackInfoIndex;
-
- ProcessSerialNumber iTunesPSN;
- bool didHaveAlbumName; //Helper variable for creating the menu
-
- //For upcoming songs
- NSMenuItem *upcomingSongsItem;
- NSMenu *upcomingSongsMenu;
-
- //For playlist selection
- NSMenuItem *playlistItem;
- NSMenu *playlistMenu;
-
- NSMenuItem *playPauseMenuItem; //Toggle between 'Play' and 'Pause'
-
- PreferencesController *prefsController;
- StatusWindowController *statusController; //Shows track info and upcoming songs.
}
-
-- (void)rebuildMenu;
-- (void)updateMenu;
-- (void)rebuildUpcomingSongsMenu;
-- (void)rebuildPlaylistMenu;
-
-- (void)clearHotKeys;
-- (void)setupHotKeys;
-
-- (NSString *)runScriptAndReturnResult:(NSString *)script;
-- (void)timerUpdate;
-
-- (ProcessSerialNumber)iTunesPSN;
-
-- (void)sendAEWithEventClass:(AEEventClass)eventClass andEventID:(AEEventID)eventID;
-
-- (void)closePreferences;
-
@end