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