Commit 15ddcc9c authored by Pierre d'Herbemont's avatar Pierre d'Herbemont

macosx/framework: Change the repeatMode setter to be a property so that it can...

macosx/framework: Change the repeatMode setter to be a property so that it can evenutally be used with Bindings.
parent 55f19bbc
...@@ -26,11 +26,23 @@ ...@@ -26,11 +26,23 @@
@class VLCMedia, VLCMediaPlayer, VLCMediaList; @class VLCMedia, VLCMediaPlayer, VLCMediaList;
/**
* VLCRepeatMode
* (don't repeat anything, repeat one, repeat all)
*/
enum VLCRepeatMode {
VLCDoNotRepeat,
VLCRepeatCurrentItem,
VLCRepeatAllItems
};
typedef int VLCRepeatMode;
@interface VLCMediaListPlayer : NSObject { @interface VLCMediaListPlayer : NSObject {
void *instance; void *instance;
VLCMedia *_rootMedia; VLCMedia *_rootMedia;
VLCMediaPlayer *_mediaPlayer; VLCMediaPlayer *_mediaPlayer;
VLCMediaList *_mediaList; VLCMediaList *_mediaList;
VLCRepeatMode _repeatMode;
} }
@property (readwrite, retain) VLCMediaList *mediaList; @property (readwrite, retain) VLCMediaList *mediaList;
...@@ -53,10 +65,10 @@ ...@@ -53,10 +65,10 @@
/** /**
* Playmode selection (don't repeat anything, repeat one, repeat all) * Playmode selection (don't repeat anything, repeat one, repeat all)
* See VLCRepeatMode.
*/ */
- (void)doNotRepeatAnyItem;
- (void)repeatCurrentItem; @property (readwrite) VLCRepeatMode repeatMode;
- (void)repeatAllItems;
/** /**
* media must be in the current media list. * media must be in the current media list.
......
...@@ -131,27 +131,29 @@ ...@@ -131,27 +131,29 @@
catch_exception(&ex); catch_exception(&ex);
} }
- (void)doNotRepeatAnyItem; - (void)setRepeatMode:(VLCRepeatMode)repeatMode
{ {
libvlc_exception_t ex; libvlc_exception_t ex;
libvlc_exception_init(&ex); libvlc_exception_init(&ex);
switch (repeatMode) {
case VLCRepeatAllItems:
libvlc_media_list_player_set_playback_mode(instance, libvlc_playback_mode_default, &ex); libvlc_media_list_player_set_playback_mode(instance, libvlc_playback_mode_default, &ex);
catch_exception(&ex); break;
} case VLCDoNotRepeat:
libvlc_media_list_player_set_playback_mode(instance, libvlc_playback_mode_default, &ex);
- (void)repeatCurrentItem break;
{ case VLCRepeatCurrentItem:
libvlc_exception_t ex;
libvlc_exception_init(&ex);
libvlc_media_list_player_set_playback_mode(instance, libvlc_playback_mode_repeat, &ex); libvlc_media_list_player_set_playback_mode(instance, libvlc_playback_mode_repeat, &ex);
break;
default:
break;
}
catch_exception(&ex); catch_exception(&ex);
_repeatMode = repeatMode;
} }
- (void)repeatAllItems - (VLCRepeatMode)repeatMode
{ {
libvlc_exception_t ex; return _repeatMode;
libvlc_exception_init(&ex);
libvlc_media_list_player_set_playback_mode(instance, libvlc_playback_mode_loop, &ex);
catch_exception(&ex);
} }
@end @end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment