Now I only OpenComponent and CloseComponent once, making me much faster!
[MenuTunes.git] / MenuTunes.h
1 /* MenuTunes */
2
3 #import <Cocoa/Cocoa.h>
4 #import <Carbon/Carbon.h>
5
6 @class MenuTunesView, PreferencesController, StatusWindowController;
7
8 @interface MenuTunes : NSObject
9 {
10     NSStatusItem *statusItem;
11     NSMenu *menu;
12     MenuTunesView *view;
13     ComponentInstance asComponent;
14     
15     //Used in updating the menu automatically
16     NSTimer *refreshTimer;
17     int curTrackIndex;
18     int trackInfoIndex;
19     
20     ProcessSerialNumber iTunesPSN;
21     bool didHaveAlbumName; //Helper variable for creating the menu
22     
23     //For upcoming songs
24     NSMenuItem *upcomingSongsItem;
25     NSMenu *upcomingSongsMenu;
26     
27     //For playlist selection
28     NSMenuItem *playlistItem;
29     NSMenu *playlistMenu;
30     
31     //For EQ sets
32     NSMenuItem *eqItem;
33     NSMenu *eqMenu;
34     
35     NSMenuItem *playPauseMenuItem; //Toggle between 'Play' and 'Pause'
36     
37     PreferencesController *prefsController;
38     StatusWindowController *statusController; //Shows track info and upcoming songs.
39 }
40
41 - (void)rebuildMenu;
42 - (void)updateMenu;
43 - (void)rebuildUpcomingSongsMenu;
44 - (void)rebuildPlaylistMenu;
45 - (void)rebuildEQPresetsMenu;
46
47 - (void)clearHotKeys;
48 - (void)setupHotKeys;
49
50 - (NSString *)runScriptAndReturnResult:(NSString *)script;
51 - (void)timerUpdate;
52
53 - (ProcessSerialNumber)iTunesPSN;
54
55 - (void)sendAEWithEventClass:(AEEventClass)eventClass andEventID:(AEEventID)eventID;
56
57 - (void)closePreferences;
58
59 @end