X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/9ba1419655d7d247210a4ed2e7a220ddf82d80cb..34a2a6ce5cce484c5b8dcd413efa1181130fbab0:/MainController.h diff --git a/MainController.h b/MainController.h index 3db1655..10949f8 100755 --- a/MainController.h +++ b/MainController.h @@ -17,31 +17,51 @@ #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; @@ -51,13 +71,33 @@ - (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)showCurrentAlbumArt; +- (void)showCurrentTrackInfo; @end + +@interface NSImage (SmoothAdditions) +- (NSImage *)imageScaledSmoothlyToSize:(NSSize)scaledSize; +@end \ No newline at end of file