X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/9ba1419655d7d247210a4ed2e7a220ddf82d80cb..3711292832129bcfcb24949c59c8f2dcae0aea63:/MainController.h diff --git a/MainController.h b/MainController.h index 3db1655..472402a 100755 --- a/MainController.h +++ b/MainController.h @@ -18,30 +18,41 @@ #import #import +#define MT_CURRENT_VERSION 1720 -@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; + + NSTimer *_statusWindowUpdateTimer, *_audioscrobblerTimer; + BOOL timerUpdating, _checkingForServer, _popped, _open, _needsPolling; + int _timeUpdateCount; //Keeps track of how many times the time has been updated in the info status window + int _audioscrobblerInterval; + NSLock *_serverCheckLock; } + (MainController *)sharedController; -//Methods called from MenuController by menu items +- (void)menuClicked; + +- (void)timerUpdate; + - (void)playPause; - (void)nextSong; - (void)prevSong; @@ -51,13 +62,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