a45d8143673ac32c291f22e52a74cb67d87f8a38
[MenuTunes.git] / MenuTunes.h
1 /*
2  *      MenuTunes
3  *  MenuTunes
4  *    App Controller Class
5  *
6  *  Original Author : Kent Sutherland <ksuther@ithinksw.com>
7  *   Responsibility : Kent Sutherland <ksuther@ithinksw.com>
8  *
9  *  Copyright (c) 2002 The iThink Group.
10  *  All Rights Reserved
11  *
12  */
13
14
15 #import <Cocoa/Cocoa.h>
16 #import <Carbon/Carbon.h>
17
18 @class MenuTunesView, PreferencesController, StatusWindowController;
19
20 @interface MenuTunes : NSObject
21 {
22     NSStatusItem *statusItem;
23     NSMenu *menu;
24     MenuTunesView *view;
25     ComponentInstance asComponent;
26     
27     //Used in updating the menu automatically
28     NSTimer *refreshTimer;
29     int curTrackIndex;
30     int trackInfoIndex;
31     
32     ProcessSerialNumber iTunesPSN;
33     bool didHaveAlbumName; //Helper variable for creating the menu
34     
35     //For upcoming songs
36     NSMenuItem *upcomingSongsItem;
37     NSMenu *upcomingSongsMenu;
38     
39     //For playlist selection
40     NSMenuItem *playlistItem;
41     NSMenu *playlistMenu;
42     
43     //For EQ sets
44     NSMenuItem *eqItem;
45     NSMenu *eqMenu;
46     
47     NSMenuItem *playPauseMenuItem; //Toggle between 'Play' and 'Pause'
48     
49     PreferencesController *prefsController;
50     StatusWindowController *statusController; //Shows track info and upcoming songs.
51 }
52
53 - (void)rebuildMenu;
54 - (void)clearHotKeys;
55 - (ProcessSerialNumber)iTunesPSN;
56 - (void)closePreferences;
57
58 @end