Merge branch 'master' of git://github.com/ksuther/MenuTunes
[MenuTunes.git] / ITMTRemote.h
index 91e4413..cd79315 100755 (executable)
@@ -1,17 +1,14 @@
 /*
- *  MenuTunes
- *  ITMTRemote
- *    Plugin definition for audio player control via MenuTunes
+ *     MenuTunes
+ *     ITMTRemote.h
  *
- *  Original Author : Matt Judy <mjudy@ithinksw.com>
- *   Responsibility : Matt Judy <mjudy@ithinksw.com>
- *
- *  Copyright (c) 2002 - 2003 iThink Software.
- *  All Rights Reserved
+ *     Plugin definition for audio player control via MenuTunes.
  *
  *     This header defines the Objective-C protocol which all MenuTunes Remote
- *  plugins must implement.  To build a remote, create a subclass of this
- *  object, and implement each method in the @protocol below.
+ *     plugins must implement.  To build a remote, create a subclass of this
+ *     object, and implement each method in the @protocol below.
+ *
+ *     Copyright (c) 2002-2003 iThink Software
  *
  */
 
@@ -139,14 +136,6 @@ typedef enum {
  */
 - (NSImage *)remoteIcon;
 
-/*!
- * @method sharedRemoteName
- * @abstract Returns the shared remote's name.
- * @discussion This title is shown while the user is selecting which shared remote to use. This is for informational purposes only, should not be overridden.
- * @result An NSString containing the name of the shared remote.
- */
-- (NSString *)sharedRemoteName;
-
 /*!
  * @method begin
  * @abstract Sent when the remote should begin operation.
@@ -212,6 +201,16 @@ er's process managment.
  */
 - (NSArray *)playlists;
 
+/*!
+ * @method artists
+ */
+- (NSArray *)artists;
+
+/*!
+ * @method albums
+ */
+- (NSArray *)albums;
+
 /*!
  * @method numberOfSongsInPlaylistAtIndex:
  */
@@ -222,6 +221,11 @@ er's process managment.
  */
 - (ITMTRemotePlayerSource)currentSource;
 
+/*!
+ * @method currentSourceIndex
+ */
+- (int)currentSourceIndex;
+
 /*!
  * @method currentPlaylistClass
  */
@@ -237,6 +241,11 @@ er's process managment.
  */
 - (NSString *)songTitleAtIndex:(int)index;
 
+/*!
+ * @method songEnabledAtIndex:
+ */
+- (BOOL)songEnabledAtIndex:(int)index;
+
 /*!
  * @method currentAlbumTrackCount:
  */
@@ -267,6 +276,11 @@ er's process managment.
  */
 - (NSString *)currentSongArtist;
 
+/*!
+ * @method currentSongComposer
+ */
+- (NSString *)currentSongComposer;
+
 /*!
  * @method currentSongAlbum
  */
@@ -282,6 +296,16 @@ er's process managment.
  */
 - (NSString *)currentSongLength;
 
+/*!
+ * @method currentSongPlayed
+ */
+- (int)currentSongPlayed;
+
+/*!
+ * @method currentSongDuration
+ */
+- (int)currentSongDuration;
+
 /*!
  * @method currentSongRemaining
  */
@@ -297,6 +321,11 @@ er's process managment.
  */
 - (NSImage *)currentSongAlbumArt;
 
+/*!
+ * @method currentSongPlayCount
+ */
+- (int)currentSongPlayCount;
+
 /*!
  * @method currentSongRating
  */
@@ -307,6 +336,26 @@ er's process managment.
  */
 - (BOOL)setCurrentSongRating:(float)rating;
 
+/*!
+ * @method currentSongShuffable
+ */
+- (BOOL)currentSongShufflable;
+
+/*!
+ * @method setCurrentSongShuffable:
+ */
+- (BOOL)setCurrentSongShufflable:(BOOL)shufflable;
+
+/*!
+ * @method equalizerEnabled
+ */
+- (BOOL)equalizerEnabled;
+
+/*!
+ * @method setEqualizerEnabled:
+ */
+- (BOOL)setEqualizerEnabled:(BOOL)enabled;
+
 /*!
  * @method eqPresets
  */
@@ -382,6 +431,11 @@ er's process managment.
  */
 - (BOOL)switchToPlaylistAtIndex:(int)index;
 
+/*!
+ * @method switchToPlaylistAtIndex:
+ */
+- (BOOL)switchToPlaylistAtIndex:(int)index ofSourceAtIndex:(int)index2;
+
 /*!
  * @method switchToSongAtIndex:
  */
@@ -392,6 +446,11 @@ er's process managment.
  */
 - (BOOL)switchToEQAtIndex:(int)index;
 
+/*!
+ * @method makePlaylistWithTerm:ofType:
+ */
+- (BOOL)makePlaylistWithTerm:(NSString *)term ofType:(int)type;
+
 @end
 
 /*!