Added the current track info to the menu. Yay.
[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 iThink Software.
10  *  All Rights Reserved
11  *
12  */
13
14
15 #import <Cocoa/Cocoa.h>
16 #import <Carbon/Carbon.h>
17
18 //@class MenuTunesView;
19 @class PreferencesController, StatusWindowController;
20
21 @interface MenuTunes : NSObject
22 {
23     NSStatusItem *statusItem;
24     NSMenu *menu;
25     ComponentInstance asComponent;
26     
27     //Used in updating the menu automatically
28     NSTimer *refreshTimer;
29     int curTrackIndex, curPlaylistIndex;
30     int trackInfoIndex;
31     bool isPlayingRadio;
32     
33     ProcessSerialNumber iTunesPSN;
34     bool didHaveAlbumName, didHaveArtistName; //Helper variable for creating the menu
35     
36     //For upcoming songs
37     NSMenuItem *upcomingSongsItem;
38     NSMenu *upcomingSongsMenu;
39     
40     //For playlist selection
41     NSMenuItem *playlistItem;
42     NSMenu *playlistMenu;
43     
44     //For EQ sets
45     NSMenuItem *eqItem;
46     NSMenu *eqMenu;
47     
48     NSMenuItem *playPauseMenuItem; //Toggle between 'Play' and 'Pause'
49     
50     PreferencesController *prefsController;
51     StatusWindowController *statusController; //Shows track info and upcoming songs.
52 }
53
54 - (void)rebuildMenu;
55 - (void)clearHotKeys;
56 - (ProcessSerialNumber)iTunesPSN;
57 - (void)closePreferences;
58
59 @end