e31a66347ef829b8e73a323c2a9465da134ac3f1
[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     
14     //Used in updating the menu automatically
15     NSTimer *refreshTimer;
16     int curTrackIndex;
17     int trackInfoIndex;
18     
19     ProcessSerialNumber iTunesPSN;
20     bool didHaveAlbumName; //Helper variable for creating the menu
21     
22     //For upcoming songs
23     NSMenuItem *upcomingSongsItem;
24     NSMenu *upcomingSongsMenu;
25     
26     //For playlist selection
27     NSMenuItem *playlistItem;
28     NSMenu *playlistMenu;
29     
30     //For EQ sets
31     NSMenuItem *eqItem;
32     NSMenu *eqMenu;
33     
34     NSMenuItem *playPauseMenuItem; //Toggle between 'Play' and 'Pause'
35     
36     PreferencesController *prefsController;
37     StatusWindowController *statusController; //Shows track info and upcoming songs.
38 }
39
40 - (void)rebuildMenu;
41 - (void)updateMenu;
42 - (void)rebuildUpcomingSongsMenu;
43 - (void)rebuildPlaylistMenu;
44 - (void)rebuildEQPresetsMenu;
45
46 - (void)clearHotKeys;
47 - (void)setupHotKeys;
48
49 - (NSString *)runScriptAndReturnResult:(NSString *)script;
50 - (void)timerUpdate;
51
52 - (ProcessSerialNumber)iTunesPSN;
53
54 - (void)sendAEWithEventClass:(AEEventClass)eventClass andEventID:(AEEventID)eventID;
55
56 - (void)closePreferences;
57
58 @end