vlc | branch: master | Felix Paul Kühne <[email protected]> | Fri Feb 1 15:53:54 2019 +0100| [d01c27c986a7b80e8b0877bbb4d5f8fdbc9d4f7a] | committer: Felix Paul Kühne
macosx: add setters for play order and repeat > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=d01c27c986a7b80e8b0877bbb4d5f8fdbc9d4f7a --- modules/gui/macosx/VLCPlaylistController.h | 4 ++-- modules/gui/macosx/VLCPlaylistController.m | 24 ++++++++++++++++++++++-- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/modules/gui/macosx/VLCPlaylistController.h b/modules/gui/macosx/VLCPlaylistController.h index 3cda3a77b7..13924daf8f 100644 --- a/modules/gui/macosx/VLCPlaylistController.h +++ b/modules/gui/macosx/VLCPlaylistController.h @@ -73,13 +73,13 @@ extern NSString *VLCPlaybackHasNextChanged; * sets and gets the playback repeat mode according to the enum defined in the core * @note Subscribe to the VLCPlaybackRepeatChanged notification to be notified about changes */ -@property (readwrite) enum vlc_playlist_playback_repeat playbackRepeat; +@property (readwrite, nonatomic) enum vlc_playlist_playback_repeat playbackRepeat; /** * sets and gets the playback order according to the enum defined in the core * @note Subscribe to the VLCPlaybackOrderChanged notification to be notified about changes */ -@property (readwrite) enum vlc_playlist_playback_order playbackOrder; +@property (readwrite, nonatomic) enum vlc_playlist_playback_order playbackOrder; /** * Simplified version to add new items to the end of the current playlist diff --git a/modules/gui/macosx/VLCPlaylistController.m b/modules/gui/macosx/VLCPlaylistController.m index 525cc09bfd..6f13637b19 100644 --- a/modules/gui/macosx/VLCPlaylistController.m +++ b/modules/gui/macosx/VLCPlaylistController.m @@ -66,7 +66,7 @@ cb_playlist_items_reset(vlc_playlist_t *playlist, } dispatch_async(dispatch_get_main_queue(), ^{ VLCPlaylistController *playlistController = (__bridge VLCPlaylistController *)p_data; - [playlistController playlistResetWithItems:items count:numberOfItems]; + [playlistController playlistResetWithItems:array count:numberOfItems]; }); } @@ -185,11 +185,17 @@ static const struct vlc_playlist_callbacks playlist_callbacks = { self = [super init]; if (self) { intf_thread_t *p_intf = getIntf(); - _p_playlist = vlc_intf_GetMainPlaylist( p_intf ); + _p_playlist = vlc_intf_GetMainPlaylist(p_intf); + + /* set initial values, further updates through callbacks */ + vlc_playlist_Lock(_p_playlist); + _playbackOrder = vlc_playlist_GetPlaybackOrder(_p_playlist); + _playbackRepeat = vlc_playlist_GetPlaybackRepeat(_p_playlist); _playlistListenerID = vlc_playlist_AddListener(_p_playlist, &playlist_callbacks, (__bridge void *)self, YES); + vlc_playlist_Unlock(_p_playlist); _playlistModel = [[VLCPlaylistModel alloc] init]; _playlistModel.playlistController = self; } @@ -408,6 +414,20 @@ static const struct vlc_playlist_callbacks playlist_callbacks = { vlc_playlist_Unlock(_p_playlist); } +- (void)setPlaybackOrder:(enum vlc_playlist_playback_order)playbackOrder +{ + vlc_playlist_Lock(_p_playlist); + vlc_playlist_SetPlaybackOrder(_p_playlist, playbackOrder); + vlc_playlist_Unlock(_p_playlist); +} + +- (void)setPlaybackRepeat:(enum vlc_playlist_playback_repeat)playbackRepeat +{ + vlc_playlist_Lock(_p_playlist); + vlc_playlist_SetPlaybackRepeat(_p_playlist, playbackRepeat); + vlc_playlist_Unlock(_p_playlist); +} + #pragma mark - helper methods - (input_item_t *)createInputItemBasedOnMetadata:(NSDictionary *)itemToCreateDict _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
