/************************************************************************** * libvlc_media_list_flat_view (Public) **************************************************************************/ libvlc_media_list_view_t * libvlc_media_list_hierarchical_view( libvlc_media_list_t * p_mlist, libvlc_exception_t * p_e ) { trace("\n"); libvlc_media_list_view_t * p_mlv; p_mlv = libvlc_media_list_view_new( p_mlist, hierarch_media_list_view_count, hierarch_media_list_view_item_at_index, hierarch_media_list_view_children_at_index, libvlc_media_list_hierarchical_view, hierarch_media_list_view_release, NULL, p_e ); libvlc_media_list_lock( p_mlist ); libvlc_event_attach( p_mlv->p_mlist->p_event_manager, libvlc_MediaListItemAdded, media_list_item_added, p_mlv, NULL ); libvlc_event_attach( p_mlv->p_mlist->p_event_manager, libvlc_MediaListWillAddItem, media_list_will_add_item, p_mlv, NULL ); libvlc_event_attach( p_mlv->p_mlist->p_event_manager, libvlc_MediaListItemDeleted, media_list_item_deleted, p_mlv, NULL ); libvlc_event_attach( p_mlv->p_mlist->p_event_manager, libvlc_MediaListWillDeleteItem, media_list_will_delete_item, p_mlv, NULL ); libvlc_media_list_unlock( p_mlist ); return p_mlv; }
/************************************************************************** * libvlc_media_list_flat_view (Public) **************************************************************************/ libvlc_media_list_view_t * libvlc_media_list_flat_view( libvlc_media_list_t * p_mlist, libvlc_exception_t * p_e ) { trace("\n"); libvlc_media_list_view_t * p_mlv; struct libvlc_media_list_view_private_t * p_this_view_data; p_this_view_data = malloc(sizeof(struct libvlc_media_list_view_private_t)); vlc_array_init( &p_this_view_data->array ); p_mlv = libvlc_media_list_view_new( p_mlist, flat_media_list_view_count, flat_media_list_view_item_at_index, flat_media_list_view_children_at_index, libvlc_media_list_flat_view, flat_media_list_view_release, p_this_view_data, p_e ); libvlc_media_list_lock( p_mlist ); import_mlist_rec( p_mlv, p_mlist, p_e ); libvlc_media_list_view_set_ml_notification_callback( p_mlv, ml_item_added, ml_item_removed ); libvlc_media_list_unlock( p_mlist ); return p_mlv; }