6 * Original Author : Matthew Judy <mjudy@ithinksw.com>
7 * Responsibility : Matthew Judy <mjudy@ithinksw.com>
9 * Copyright (c) 2002-2003 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>
20 #import "MTBlingController.h"
22 @class StatusWindowController, MenuController;
24 @interface MainController : NSObject
26 ITStatusItem *statusItem;
27 NSMutableArray *remoteArray;
28 ITMTRemote *currentRemote;
30 ITMTRemotePlayerRunningState playerRunningState;
31 ITMTRemotePlayerPlaylistClass latestPlaylistClass;
33 //Used in updating the menu automatically
34 NSTimer *refreshTimer;
35 NSString *_latestSongIdentifier;
37 StatusWindowController *statusWindowController; //Shows status windows
38 MenuController *menuController;
41 MTBlingController *bling;
42 NSTimer *registerTimer;
46 + (MainController *)sharedController;
50 //Methods called from MenuController by menu items
51 - (NSDate*)getBlingTime;
61 - (void)selectPlaylistAtIndex:(int)index;
62 - (void)selectSongAtIndex:(int)index;
63 - (void)selectSongRating:(int)rating;
64 - (void)selectEQPresetAtIndex:(int)index;
66 - (void)showPreferences;
67 - (void)quitMenuTunes;
71 - (ITMTRemote *)currentRemote;
74 - (void)closePreferences;