1 /****************************************
2 ITMTRemote 1.0 (MenuTunes Remotes)
6 Joseph Spiros <joseph.spiros@ithinksw.com>
8 Copyright (c) 2002 - 2003 by iThink Software.
10 ****************************************/
12 #import <Cocoa/Cocoa.h>
14 #import <ITMTRemote/ITMTPlayer.h>
15 #import <ITMTRemote/ITMTPlaylist.h>
16 #import <ITMTRemote/ITMTTrack.h>
17 #import <ITMTRemote/ITMTEqualizer.h>
20 @typedef ITMTGenericProperty
21 @constant ITMTNameProperty The object's human readable name.
22 @constant ITMTImageProperty An image that can be associated with the object.
27 } ITMTGenericProperty;
29 @typedef ITMTRemoteProperty
30 @constant ITMTRemoteNameProperty
31 @constant ITMTRemoteImageProperty
32 @constant ITMTRemoteAuthorProperty
33 @constant ITMTRemoteDescriptionProperty
34 @constant ITMTRemoteURLProperty
35 @constant ITMTRemoteCopyrightProperty
38 ITMTRemoteNameProperty,
39 ITMTRemoteImageProperty,
40 ITMTRemoteAuthorProperty,
41 ITMTRemoteDescriptionProperty,
42 ITMTRemoteURLProperty,
43 ITMTRemoteCopyrightProperty,
44 ITMTRemoteActivationStringProperty,
45 ITMTRemoteDeactivationStringProperty
48 @typedef ITMTPlayerStyle
49 @constant ITMTSinglePlayerStyle Like iTunes, One player controls all available songs.
50 @constant ITMTMultiplePlayerStyle Like Audion, Multiple players control multiple playlists.
51 @constant ITMTSinglePlayerSinglePlaylistStyle Like *Amp, XMMS. Not recommended, but instead, developers are urged to use ITMTSinglePlayerStyle with emulated support for multiple playlists.
54 ITMTSinglePlayerStyle,
55 ITMTMultiplePlayerStyle,
56 ITMTSinglePlayerSinglePlaylistStyle
61 @abstract The ITMTRemote protocol is the protocol that all MenuTunes remotes' primary class must implement.
66 @result Returns an autoreleased instance of the remote.
71 @method valueOfProperty:
73 - (id)valueOfProperty:(ITMTRemoteProperty)property;
76 @method propertiesAndValues
78 - (NSDictionary *)propertiesAndValues;
82 @result An ITMTPlayerStyle defining how the remote works with players and playlists.
84 - (ITMTPlayerStyle)playerStyle;
88 @result A BOOL indicating success or failure.
93 @result A BOOL indicating success or failure.
99 @result An ITMTPlayer object representing the currently active player that the remote is controlling.
101 - (ITMTPlayer *)currentPlayer
104 @result An NSArray filled with ITMTPlayer objects.
106 - (NSArray *)players;
112 @interface ITMTRemote : NSObject <ITMTRemote>