HAY GUYS LETS SHIP
[MenuTunes.git] / MainController.h
1 /*
2  *      MenuTunes
3  *  MainController
4  *    App Controller Class
5  *
6  *  Original Author : Matthew Judy <mjudy@ithinksw.com>
7  *   Responsibility : Matthew Judy <mjudy@ithinksw.com>
8  *
9  *  Copyright (c) 2002-2003 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 #import "MTBlingController.h"
21
22 @class StatusWindowController, MenuController;
23
24 @interface MainController : NSObject
25 {
26     ITStatusItem   *statusItem;
27     NSMutableArray *remoteArray;
28     ITMTRemote     *currentRemote;
29     
30     ITMTRemotePlayerRunningState  playerRunningState;
31     ITMTRemotePlayerPlaylistClass latestPlaylistClass;
32     
33     //Used in updating the menu automatically
34     NSTimer *refreshTimer;
35     NSString *_latestSongIdentifier;
36
37     StatusWindowController *statusWindowController; //Shows status windows
38     MenuController *menuController;
39     NSUserDefaults *df;
40     
41     MTBlingController *bling;
42     NSTimer *registerTimer;
43     BOOL timerUpdating;
44     BOOL blinged;
45 }
46 + (MainController *)sharedController;
47
48 - (void)menuClicked;
49
50 //Methods called from MenuController by menu items
51 - (NSDate*)getBlingTime;
52 - (void)blingTime;
53 - (void)blingNow;
54 - (BOOL)blingBling;
55
56 - (void)playPause;
57 - (void)nextSong;
58 - (void)prevSong;
59 - (void)fastForward;
60 - (void)rewind;
61 - (void)selectPlaylistAtIndex:(int)index;
62 - (void)selectSongAtIndex:(int)index;
63 - (void)selectSongRating:(int)rating;
64 - (void)selectEQPresetAtIndex:(int)index;
65 - (void)showPlayer;
66 - (void)showPreferences;
67 - (void)quitMenuTunes;
68
69 //
70
71 - (ITMTRemote *)currentRemote;
72 - (void)clearHotKeys;
73 - (void)setupHotKeys;
74 - (void)closePreferences;
75
76 @end