Adding initial work on new plugin API. THIS BREAKS MT. We are working to
[MenuTunes.git] / ITMTPlaylist.h
1 /****************************************
2     ITMTRemote 1.0 (MenuTunes Remotes)
3     ITMTPlaylist.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 @protocol ITMTPlaylist
17 - (BOOL)show; // graphical
18
19 - (BOOL)setValue:(id)value forProperty:(ITMTGenericProperty)property;
20 - (id)valueOfProperty:(ITMTGenericProperty)property;
21 - (NSDictionary *)propertiesAndValues;
22
23 - (ITMTPlayer *)player;
24
25 - (BOOL)addTrack:(ITMTTrack *)track;
26 - (BOOL)insertTrack:(ITMTTrack *)track atIndex:(int)index;
27
28 - (BOOL)removeTrack:(ITMTTrack *)item;
29 - (BOOL)removeTrackAtIndex:(int)index;
30
31 - (ITMTTrack *)trackAtIndex:(int)index;
32
33 - (int)indexOfTrack:(ITMTTrack *)track;
34 - (ITMTTrack *)trackWithProperty:(ITMTTrackProperty)property ofValue:(id)value allowPartialMatch:(BOOL)partial;
35 - (NSArray *)tracksWithProperty:(ITMTTrackProperty)property ofValue:(id)value allowPartialMatches:(BOOL)partial;
36 - (int)indexOfTrackWithProperty:(ITMTTrackProperty)property ofValue:(id)value allowPartialMatch:(BOOL)partial;
37 - (NSArray *)indexesOfTracksWithProperty:(ITMTTrackProperty)property ofValue:(id)value allowPartialMatches:(BOOL)partial;
38
39 - (int)trackCount;
40 - (NSArray *)trackArray;
41 @end
42
43 @interface ITMTPlaylist : NSObject
44 @end