]> git.sesse.net Git - vlc/blob - projects/macosx/framework/Headers/Public/VLCMediaListPlayer.h
macosx/framework: Change the repeatMode setter to be a property so that it can evenut...
[vlc] / projects / macosx / framework / Headers / Public / VLCMediaListPlayer.h
1 /*****************************************************************************
2  * VLCMediaListPlayer.m: VLCKit.framework VLCMediaListPlayer implementation
3  *****************************************************************************
4  * Copyright (C) 2009 Pierre d'Herbemont
5  * Partial Copyright (C) 2009 Felix Paul Kühne
6  * Copyright (C) 2009 the VideoLAN team
7  * $Id$
8  *
9  * Authors: Pierre d'Herbemont <pdherbemont # videolan.org>
10  *          Felix Paul Kühne <fkuehne # videolan.org
11  *
12  * This program is free software; you can redistribute it and/or modify
13  * it under the terms of the GNU General Public License as published by
14  * the Free Software Foundation; either version 2 of the License, or
15  * (at your option) any later version.
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20  * GNU General Public License for more details.
21  *
22  * You should have received a copy of the GNU General Public License
23  * along with this program; if not, write to the Free Software
24  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
25  *****************************************************************************/
26
27 @class VLCMedia, VLCMediaPlayer, VLCMediaList;
28
29 /**
30  * VLCRepeatMode
31  * (don't repeat anything, repeat one, repeat all)
32  */
33 enum VLCRepeatMode {
34     VLCDoNotRepeat,
35     VLCRepeatCurrentItem,
36     VLCRepeatAllItems
37 };
38 typedef int VLCRepeatMode;
39
40 @interface VLCMediaListPlayer : NSObject {
41     void *instance;
42     VLCMedia *_rootMedia;
43     VLCMediaPlayer *_mediaPlayer;
44     VLCMediaList *_mediaList;
45     VLCRepeatMode _repeatMode;
46 }
47
48 @property (readwrite, retain) VLCMediaList *mediaList;
49
50 /**
51  * rootMedia - Use this method to play a media and its subitems.
52  * This will erase mediaList.
53  * Setting mediaList will erase rootMedia.
54  */
55 @property (readwrite, retain) VLCMedia *rootMedia;
56 @property (readonly, retain) VLCMediaPlayer *mediaPlayer;
57
58
59 /**
60  * Basic play and stop are here. For other method, use the mediaPlayer.
61  * This may change.
62  */
63 - (void)play;
64 - (void)stop;
65
66 /**
67  * Playmode selection (don't repeat anything, repeat one, repeat all)
68  * See VLCRepeatMode.
69  */
70
71 @property (readwrite) VLCRepeatMode repeatMode;
72
73 /**
74  * media must be in the current media list.
75  */
76 - (void)playMedia:(VLCMedia *)media;
77
78 @end