X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/4b79b3476d8846420e66690e29e265aacaf172cf..bb135f9658368fae4ae433fb76f5aaac58f5b2f5:/ITMTRemote.h?ds=inline diff --git a/ITMTRemote.h b/ITMTRemote.h index 57a3228..9e5ac5f 100755 --- a/ITMTRemote.h +++ b/ITMTRemote.h @@ -22,12 +22,12 @@ #import /*! - @enum ITMTRemotePlayerRunningState - @abstract Possible running states for the remote's player. - @discussion Used in fuctions that report or take the running state of the remote's player application. - @constant ITMTRemotePlayerNotRunning The remote's player isn't running. - @constant ITMTRemotePlayerLaunching The remote's player is starting up, or is running, but not yet accepting remote commands. - @constant ITMTRemotePlayerRunning The remote's player is running, and as such, is accepting remote commands. + * @enum ITMTRemotePlayerRunningState + * @abstract Possible running states for the remote's player. + * @discussion Used in fuctions that report or take the running state of the remote's player application. + * @constant ITMTRemotePlayerNotRunning The remote's player isn't running. + * @constant ITMTRemotePlayerLaunching The remote's player is starting up, or is running, but not yet accepting remote commands. + * @constant ITMTRemotePlayerRunning The remote's player is running, and as such, is accepting remote commands. */ typedef enum { ITMTRemotePlayerNotRunning = -1, @@ -36,14 +36,14 @@ typedef enum { } ITMTRemotePlayerRunningState; /*! - @enum ITMTRemotePlayerPlayingState - @abstract Possible playing states for the remote's player. - @discussion Used in functions that report or take the playing state of the remote's player application. - @constant ITMTRemotePlayerStopped The remote's player is stopped. - @constant ITMTRemotePlayerPaused The remote's player is paused. - @constant ITMTRemotePlayerPlaying The remote's player is playing. - @constant ITMTRemotePlayerRewinding The remote's player is rewinding. - @constant ITMTRemotePlayerForwarding The remote's player is forwarding. + * @enum ITMTRemotePlayerPlayingState + * @abstract Possible playing states for the remote's player. + * @discussion Used in functions that report or take the playing state of the remote's player application. + * @constant ITMTRemotePlayerStopped The remote's player is stopped. + * @constant ITMTRemotePlayerPaused The remote's player is paused. + * @constant ITMTRemotePlayerPlaying The remote's player is playing. + * @constant ITMTRemotePlayerRewinding The remote's player is rewinding. + * @constant ITMTRemotePlayerForwarding The remote's player is forwarding. */ typedef enum { ITMTRemotePlayerStopped = -1, @@ -53,6 +53,36 @@ typedef enum { ITMTRemotePlayerForwarding } ITMTRemotePlayerPlayingState; +/*! + * @enum ITMTRemotePlayerPlaylistClass + * @abstract Possible playlist classes used by a remote's player + * @discussion Used in functions that report the class of a playlist to MenuTunes. While we borrow the terms/descriptions from iTunes, these should work fine with any other player. If your player doesn't support a given type of playlist, then just return ITMTRemotePlayerPlaylist. + * @constant ITMTRemotePlayerLibraryPlaylist For players that have one playlist that contains all of a user's music, or for players that don't have the concept of multiple playlists, this is the class for that "Master" list. + * @constant ITMTRemotePlayerPlaylist The generic playlist. Created and maintained by the user. + * @constant ITMTRemotePlayerSmartPlaylist A smart playlist is a playlist who's contents are dynamic, based on a set of criteria or updated by a script. These are usually not edited directly by the user, but instead maintained by the player. + * @constant ITMTRemotePlayerRadioPlaylist This is for when playing tracks off of (online) radio stations. + */ +typedef enum { + ITMTRemotePlayerLibraryPlaylist = -1, + ITMTRemotePlayerPlaylist, + ITMTRemotePlayerSmartPlaylist, + ITMTRemotePlayerRadioPlaylist +} ITMTRemotePlayerPlaylistClass; + +/*! + * @enum ITMTRemotePlayerRepeatMode + * @abstract Possible repeat modes for the remote's player. + * @discussion Used in functions that report or set the remote's player's repeat mode. + * @constant ITMTRemotePlayerRepeatOff The player plays all of the songs in a playlist through to the end, and then stops. + * @constant ITMTRemotePlayerRepeatAll The player plays all of the songs in a playlist through to the end, and then starts over again from the beginning. + * @constant ITMTRemotePlayerRepeatOne The player loops playing the selected song. + */ +typedef enum { + ITMTRemotePlayerRepeatOff = -1, + ITMTRemotePlayerRepeatAll, + ITMTRemotePlayerRepeatOne +} ITMTRemotePlayerRepeatMode; + /*! * @protocol ITMTRemote * @discussion The Objective-C protocol which all MenuTunes remotes must implement. @@ -136,6 +166,11 @@ typedef enum { */ - (NSDictionary *)capabilities; +/*! + * @method showPrimaryInterface + */ +- (BOOL)showPrimaryInterface; + /*! * @method playerRunningState * @abstract Returns the running state of the remote's player. @@ -162,7 +197,7 @@ typedef enum { /*! * @method classOfPlaylistAtIndex: */ -- (NSString *)classOfPlaylistAtIndex:(int)index; +- (ITMTRemotePlayerPlaylistClass)currentPlaylistClass; /*! * @method currentPlaylistIndex @@ -174,6 +209,21 @@ typedef enum { */ - (NSString *)songTitleAtIndex:(int)index; +/*! + * @method currentAlbumTrackCount: + */ +- (int)currentAlbumTrackCount; + +/*! + * @method currentSongTrack: + */ +- (int)currentSongTrack; + +/*! + * @method currentSongUniqueIdentifier: + */ +- (NSString *)currentSongUniqueIdentifier; + /*! * @method currentSongIndex */ @@ -219,16 +269,6 @@ typedef enum { */ - (BOOL)setCurrentSongRating:(float)rating; -/*! - * @method equalizerEnabled - */ -- (BOOL)equalizerEnabled; - -/*! - * @method setEqualizerEnabled: - */ -- (BOOL)setEqualizerEnabled:(BOOL)enabled; - /*! * @method eqPresets */ @@ -249,6 +289,26 @@ typedef enum { */ - (BOOL)setVolume:(float)volume; +/*! + * @method shuffleEnabled + */ +- (BOOL)shuffleEnabled; + +/*! + * @method setShuffleEnabled: + */ +- (BOOL)setShuffleEnabled:(BOOL)enabled; + +/*! + * @method repeatMode + */ +- (ITMTRemotePlayerRepeatMode)repeatMode; + +/*! + * @method setRepeatMode: + */ +- (BOOL)setRepeatMode:(ITMTRemotePlayerRepeatMode)repeatMode; + /*! * @method play */