#import <Cocoa/Cocoa.h>
+typedef enum {stopped = -1, paused, playing, rewinding, forwarding} PlayerState;
+
/*! @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.
*/
- (BOOL)halt;
-- (NSArray *)sources;
-- (int)currentSourceIndex;
-- (NSString *)sourceTypeOfCurrentPlaylist;
+- (BOOL)isAppRunning;
+- (PlayerState)playerState;
-- (NSArray *)playlistsForCurrentSource;
+- (NSArray *)playlists;
+- (int)numberOfSongsInPlaylistAtIndex:(int)index;
+- (NSString *)classOfPlaylistAtIndex:(int)index;
- (int)currentPlaylistIndex;
-- (NSString *)songTitleAtIndex;
+- (NSString *)songTitleAtIndex:(int)index;
- (int)currentSongIndex;
- (NSString *)currentSongTitle;
- (NSString *)currentSongRemaining;
- (NSArray *)eqPresets;
+- (int)currentEQPresetIndex;
- (BOOL)play;
- (BOOL)pause;
- (BOOL)goToNextSong;
- (BOOL)goToPreviousSong;
-- (BOOL)goToNextPlaylist;
-- (BOOL)goToPreviousPlaylist;
+- (BOOL)fastForward;
+- (BOOL)rewind;
-- (BOOL)switchToSourceAtIndex:(int)index;
- (BOOL)switchToPlaylistAtIndex:(int)index;
- (BOOL)switchToSongAtIndex:(int)index;
- (BOOL)switchToEQAtIndex:(int)index;