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