#import <ITMTRemote/ITMTRemote.h>
#import "MTBlingController.h"
-@class StatusWindowController, MenuController;
+#define MT_CURRENT_VERSION 1520
+
+@class StatusWindowController, MenuController, NetworkController;
@interface MainController : NSObject
{
//Used in updating the menu automatically
NSTimer *refreshTimer;
- NSString *_latestSongIdentifier;
-
+ NSString *_latestSongIdentifier, *_toolTip;
+ NSDictionary *_lastTrackInfo;
+
StatusWindowController *statusWindowController; //Shows status windows
MenuController *menuController;
+ NetworkController *networkController;
NSUserDefaults *df;
- NSDate *blingDate;
MTBlingController *bling;
- BOOL timerUpdating;
+ NSTimer *registerTimer;
+ BOOL timerUpdating, _checkingForServer, _popped, _open, _needsPolling;
+ BOOL blinged;
+ NSLock *_serverCheckLock;
}
+ (MainController *)sharedController;
- (void)menuClicked;
//Methods called from MenuController by menu items
+- (NSDate*)getBlingTime;
- (void)blingTime;
- (void)blingNow;
- (BOOL)blingBling;
+- (void)timerUpdate;
+
- (void)playPause;
- (void)nextSong;
- (void)prevSong;
- (void)selectSongAtIndex:(int)index;
- (void)selectSongRating:(int)rating;
- (void)selectEQPresetAtIndex:(int)index;
+- (void)makePlaylistWithTerm:(NSString *)term ofType:(int)type;
- (void)showPlayer;
- (void)showPreferences;
+- (void)showTestWindow;
- (void)quitMenuTunes;
//
+- (void)setServerStatus:(BOOL)newStatus;
+- (int)connectToServer;
+- (BOOL)disconnectFromServer;
+- (void)checkForRemoteServerAndConnectImmediately:(BOOL)connectImmediately;
+- (void)networkError:(NSException *)exception;
+
+//
+
- (ITMTRemote *)currentRemote;
- (void)clearHotKeys;
- (void)setupHotKeys;
- (void)closePreferences;
+- (MenuController *)menuController;
+
+- (void)showCurrentTrackInfo;
@end
+
+@interface NSImage (SmoothAdditions)
+- (NSImage *)imageScaledSmoothlyToSize:(NSSize)scaledSize;
+@end
\ No newline at end of file