Adding initial work on new plugin API. THIS BREAKS MT. We are working to
[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 show
24 */
25 - (BOOL)show;
26
27 /*!
28     @method setValue:forProperty:
29 */
30 - (BOOL)setValue:(id)value forProperty:(ITMTGenericProperty)property;
31 /*!
32     @method valueOfProperty:
33 */
34 - (id)valueOfProperty:(ITMTGenericProperty)property;
35 /*!
36     @method propertiesAndValues
37 */
38 - (NSDictionary *)propertiesAndValues;
39
40 /*!
41     @method remote
42 */
43 - (ITMTRemote *)remote;
44
45 /*!
46     @method currentPlaylist
47 */
48 - (ITMTPlaylist *)currentPlaylist;
49 /*!
50     @method currentTrack
51 */
52 - (ITMTTrack *)currentTrack;
53 /*!
54     @method currentEqualizer
55 */
56 - (ITMTEqualizer *)currentEqualizer;
57
58 /*!
59     @method playlists
60 */
61 - (NSArray *)playlists;
62
63 /*!
64     @method tracks
65 */
66 - (NSArray *)tracks;
67 /*!
68     @method libraryPlaylist
69 */
70 - (ITMTPlaylist *)libraryPlaylist;
71
72 /*!
73     @method equalizers
74 */
75 - (NSArray *)equalizers;
76 @end
77
78 /*!
79     @class ITMTPlayer
80 */
81 @interface ITMTPlayer : NSObject
82 @end