6 * Original Author : Kent Sutherland <ksuther@ithinksw.com>
7 * Responsibility : Kent Sutherland <ksuther@ithinksw.com>
9 * Copyright (c) 2002 iThink Software.
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>
22 //@class MenuTunesView;
23 @class PreferencesController, StatusWindowController;
25 @interface MenuTunes : NSObject
27 ITStatusItem *statusItem;
29 ComponentInstance asComponent;
30 ITMTRemote *currentRemote;
31 NSMutableArray *remoteArray;
33 //Used in updating the menu automatically
34 NSTimer *refreshTimer;
35 int trackInfoIndex, lastSongIndex;
38 ProcessSerialNumber iTunesPSN;
39 bool didHaveAlbumName, didHaveArtistName; //Helper variable for creating the menu
42 NSMenuItem *upcomingSongsItem;
43 NSMenu *upcomingSongsMenu;
45 //For playlist selection
46 NSMenuItem *playlistItem;
53 NSMenuItem *playPauseMenuItem; //Toggle between 'Play' and 'Pause'
55 PreferencesController *prefsController;
56 StatusWindowController *statusController; //Shows track info and upcoming songs.
58 - (void)registerDefaultsIfNeeded;
61 - (ProcessSerialNumber)iTunesPSN;
62 - (void)closePreferences;