Some more work on the iTunes remote... I'm starting to require testing,
[MenuTunes.git] / ITMTPlayer.h
1 /****************************************
2     ITMTRemote 1.0 (MenuTunes Remotes)
3     ITMTPlayer.h
4     
5     Responsibility:
6         Joseph Spiros <joseph.spiros@ithinksw.com>
7     
8     Copyright (c) 2002 - 2003 by iThink Software.
9     All Rights Reserved.
10 ****************************************/
11
12 #import <Cocoa/Cocoa.h>
13
14 #import <ITMTRemote/ITMTRemote.h>
15
16 /*!
17     @protocol ITMTPlayer
18     @abstract Object representation for a controlled player.
19     @discussion Object representation for a controlled player. Players can be defined as things that control playlist(s) objects, a pool of track objects, and possibly, equalizer objects.
20 */
21 @protocol ITMTPlayer
22 /*!
23     @method writable
24 */
25 - (BOOL)writable;
26
27 /*!
28     @method show
29 */
30 - (BOOL)show;
31
32 /*!
33     @method setValue:forProperty:
34 */
35 - (BOOL)setValue:(id)value forProperty:(ITMTGenericProperty)property;
36 /*!
37     @method valueOfProperty:
38 */
39 - (id)valueOfProperty:(ITMTGenericProperty)property;
40 /*!
41     @method propertiesAndValues
42 */
43 - (NSDictionary *)propertiesAndValues;
44
45 /*!
46     @method remote
47 */
48 - (ITMTRemote *)remote;
49
50 /*!
51     @method currentPlaylist
52 */
53 - (ITMTPlaylist *)currentPlaylist;
54 /*!
55     @method currentTrack
56 */
57 - (ITMTTrack *)currentTrack;
58 /*!
59     @method currentEqualizer
60 */
61 - (ITMTEqualizer *)currentEqualizer;
62
63 /*!
64     @method playlists
65 */
66 - (NSArray *)playlists;
67
68 /*!
69     @method tracks
70 */
71 - (NSArray *)tracks;
72 /*!
73     @method libraryPlaylist
74 */
75 - (ITMTPlaylist *)libraryPlaylist;
76
77 /*!
78     @method equalizers
79 */
80 - (NSArray *)equalizers;
81 @end
82
83 /*!
84     @class ITMTPlayer
85 */
86 @interface ITMTPlayer : NSObject
87 @end