X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/8c2086efaf1ee7419fc91275fdc7426de3fbe7fd..2c89adb3537752472b5c23817e9b010dd104b6a2:/ITMTRemote.h diff --git a/ITMTRemote.h b/ITMTRemote.h index 735e11e..0caca6d 100755 --- a/ITMTRemote.h +++ b/ITMTRemote.h @@ -28,7 +28,19 @@ #import -typedef enum {stopped = -1, paused, playing, rewinding, forwarding} PlayerState; +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. @@ -49,23 +61,23 @@ typedef enum {stopped = -1, paused, playing, rewinding, forwarding} PlayerState; */ + (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. @@ -79,7 +91,21 @@ typedef enum {stopped = -1, paused, playing, rewinding, forwarding} PlayerState; */ - (BOOL)halt; -- (PlayerState)playerState; +- (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; @@ -96,14 +122,23 @@ typedef enum {stopped = -1, paused, playing, rewinding, forwarding} PlayerState; - (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)fastForward; +- (BOOL)forward; - (BOOL)rewind; - (BOOL)switchToPlaylistAtIndex:(int)index;