X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/e350cc5032334a724daffdf6d2016e3653efc825..247185755806e3a693fef80a25094ad9e446f104:/MainController.h?ds=inline diff --git a/MainController.h b/MainController.h index 1b77b1a..c4ed84b 100755 --- a/MainController.h +++ b/MainController.h @@ -17,32 +17,86 @@ #import #import #import +#import "MTBlingController.h" +#define MT_CURRENT_VERSION 1600 -@class StatusWindowController; - +@class StatusWindowController, MenuController, NetworkController; @interface MainController : NSObject { ITStatusItem *statusItem; NSMutableArray *remoteArray; ITMTRemote *currentRemote; - + ITMTRemotePlayerRunningState playerRunningState; ITMTRemotePlayerPlaylistClass latestPlaylistClass; //Used in updating the menu automatically NSTimer *refreshTimer; + NSString *_latestSongIdentifier, *_toolTip; + NSDictionary *_lastTrackInfo; - NSString *_latestSongIdentifier; - - StatusWindowController *statusWindowController; //Shows track info and upcoming songs. + StatusWindowController *statusWindowController; //Shows status windows + MenuController *menuController; + NetworkController *networkController; NSUserDefaults *df; + + MTBlingController *bling; + NSTimer *registerTimer, *_statusWindowUpdateTimer, *_audioscrobblerTimer; + BOOL timerUpdating, _checkingForServer, _popped, _open, _needsPolling; + BOOL blinged; + int _timeUpdateCount; //Keeps track of how many times the time has been updated in the info status window + int _audioscrobblerInterval; + 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)fastForward; +- (void)rewind; +- (void)selectPlaylistAtIndex:(int)index; +- (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