#import <Cocoa/Cocoa.h>
typedef enum {
- stopped = -1,
- paused,
- playing,
- rewinding,
- forwarding
-} PlayerState;
+ 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.
*/
+ (id)remote;
-/*! @method title:
+/*! @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.
*/
- (BOOL)halt;
-- (BOOL)isAppRunning;
-- (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;
- (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;