Initial revision
[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     NSString *curPlaylist;
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     NSMenuItem *playPauseMenuItem; //Toggle between 'Play' and 'Pause'
32     
33     PreferencesController *prefsController;
34     StatusWindowController *statusController; //Shows track info and upcoming songs.
35 }
36
37 - (void)rebuildMenu;
38 - (void)updateMenu;
39 - (void)rebuildUpcomingSongsMenu;
40 - (void)rebuildPlaylistMenu;
41
42 - (void)clearHotKeys;
43 - (void)setupHotKeys;
44
45 - (NSString *)runScriptAndReturnResult:(NSString *)script;
46 - (void)timerUpdate;
47
48 - (ProcessSerialNumber)iTunesPSN;
49
50 - (void)sendAEWithEventClass:(AEEventClass)eventClass andEventID:(AEEventID)eventID;
51
52 - (void)closePreferences;
53
54 @end