X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/c3ade301266db044b41f7e21df374fead6ff4d46..c5c8dff85fd86bd56326eeaf19d444adb7d9f01b:/ITMTRemote.h diff --git a/ITMTRemote.h b/ITMTRemote.h index e4d3019..0caca6d 100755 --- a/ITMTRemote.h +++ b/ITMTRemote.h @@ -28,6 +28,20 @@ #import +typedef enum { + ITMTRemotePlayerNotRunning = -1, + ITMTRemotePlayerLaunching, + ITMTRemotePlayerRunning +} ITMTRemotePlayerRunningStatus; + +typedef enum { + ITMTRemotePlayerStopped = -1, + ITMTRemotePlayerPaused, + ITMTRemotePlayerPlaying, + ITMTRemotePlayerRewinding, + ITMTRemotePlayerForwarding +} ITMTRemotePlayerState; + /*! @protocol ITMTRemote * @abstract Declares what a MenuTunes Remote must be able to do. * @discussion A MenuTunes Remote must be able to return and change state information. @@ -47,23 +61,23 @@ */ + (id)remote; -/*! @method title: - * @abstract Returns an autoreleased instance of the remote. +/*! @method pluginTitle: + * @abstract Returns the title of the plugin, which should be player name. * @result An NSString containing the title. */ -- (NSString *)title; +- (NSString *)pluginTitle; -/*! @method description: +/*! @method pluginInformation: * @abstract Returns a description of the remote. * @result An NSString containing the description. */ -- (NSString *)information; +- (NSString *)pluginInformation; -/*! @method icon: +/*! @method pluginIcon: * @abstract Returns a icon for the remote. * @result An NSImage containing the icon. */ -- (NSImage *)icon; +- (NSImage *)pluginIcon; /*! @method begin: * @abstract Sent when the plugin should begin operation. @@ -77,6 +91,23 @@ */ - (BOOL)halt; +- (NSString *)playerFullName; + +- (NSString *)playerSimpleName; + +/*! @method playerRunningStatus: + * @abstract Returns controlled application's running status (is or isn't running). + * @result BOOL of the controlled application's running status. + */ +- (ITMTRemotePlayerRunningStatus)playerRunningStatus; + +/*! @method playerState: + * @abstract Returns controlled application's playing state. + * @result ITMTRemotePlayerState of the controlled application's playing state. + */ +- (ITMTRemotePlayerState)playerState; + +- (NSArray *)playlists; - (int)numberOfSongsInPlaylistAtIndex:(int)index; - (NSString *)classOfPlaylistAtIndex:(int)index; - (int)currentPlaylistIndex; @@ -91,12 +122,24 @@ - (NSString *)currentSongLength; - (NSString *)currentSongRemaining; +- (float)currentSongRating; +- (BOOL)setCurrentSongRating:(float)rating; + +- (BOOL)equalizerEnabled; +- (BOOL)setEqualizerEnabled:(BOOL)enabled; + - (NSArray *)eqPresets; +- (int)currentEQPresetIndex; + +- (float)volume; +- (BOOL)setVolume:(float)volume; - (BOOL)play; - (BOOL)pause; - (BOOL)goToNextSong; - (BOOL)goToPreviousSong; +- (BOOL)forward; +- (BOOL)rewind; - (BOOL)switchToPlaylistAtIndex:(int)index; - (BOOL)switchToSongAtIndex:(int)index;