Some Plugin API changes... Need to finish the API HeaderDocs sometime
[MenuTunes.git] / ITMTRemote.h
index 9b36236..693d908 100755 (executable)
 
 #import <Cocoa/Cocoa.h>
 
+typedef enum {
+    stopped = -1,
+    paused,
+    playing,
+    rewinding,
+    forwarding
+} 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.
@@ -48,7 +56,7 @@
 + (id)remote;
 
 /*! @method title:
- *  @abstract Returns an autoreleased instance of the remote.
+ *  @abstract Returns the title of the plugin, which should be player name.
  *  @result An NSString containing the title.
  */
 - (NSString *)title;
  */
 - (BOOL)halt;
 
+/*! @method isAppRunning:
+ *  @abstract Returns controlled application's running status (is or isn't running).
+ *  @result BOOL of the controlled application's running status.
+ */
+- (BOOL)isAppRunning;
+
+/*! @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;
 - (NSString *)currentSongLength;
 - (NSString *)currentSongRemaining;
 
+- (float)currentSongRating;
+- (BOOL)setCurrentSongRating:(float)rating;
+
 - (NSArray *)eqPresets;
 - (int)currentEQPresetIndex;
 
+- (float)volume;
+- (BOOL)setVolume:(float)volume;
+
 - (BOOL)play;
 - (BOOL)pause;
 - (BOOL)goToNextSong;
 - (BOOL)goToPreviousSong;
+- (BOOL)fastForward;
+- (BOOL)rewind;
 
 - (BOOL)switchToPlaylistAtIndex:(int)index;
 - (BOOL)switchToSongAtIndex:(int)index;