01a3f5358ec19099a10aaaf4e7cd1ceae508fd51
[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)writable;
18
19 - (BOOL)show; // graphical
20
21 - (BOOL)setValue:(id)value forProperty:(ITMTGenericProperty)property;
22 - (id)valueOfProperty:(ITMTGenericProperty)property;
23 - (NSDictionary *)propertiesAndValues;
24
25 - (ITMTPlayer *)player;
26
27 - (BOOL)addTrack:(ITMTTrack *)track;
28 - (BOOL)insertTrack:(ITMTTrack *)track atIndex:(int)index;
29
30 - (BOOL)removeTrack:(ITMTTrack *)item;
31 - (BOOL)removeTrackAtIndex:(int)index;
32
33 - (ITMTTrack *)trackAtIndex:(int)index;
34
35 - (int)indexOfTrack:(ITMTTrack *)track;
36 - (ITMTTrack *)trackWithProperty:(ITMTTrackProperty)property ofValue:(id)value allowPartialMatch:(BOOL)partial;
37 - (NSArray *)tracksWithProperty:(ITMTTrackProperty)property ofValue:(id)value allowPartialMatches:(BOOL)partial;
38 - (int)indexOfTrackWithProperty:(ITMTTrackProperty)property ofValue:(id)value allowPartialMatch:(BOOL)partial;
39 - (NSArray *)indexesOfTracksWithProperty:(ITMTTrackProperty)property ofValue:(id)value allowPartialMatches:(BOOL)partial;
40
41 - (int)trackCount;
42 - (NSArray *)trackArray;
43 @end
44
45 @interface ITMTPlaylist : NSObject
46 @end