libvlc_media_list_view.h
上传用户:kjfoods
上传日期:2020-07-06
资源大小:29949k
文件大小:6k
源码类别:

midi

开发平台:

Unix_Linux

  1. /*****************************************************************************
  2.  * libvlc_media_list.h:  libvlc_media_list API
  3.  *****************************************************************************
  4.  * Copyright (C) 1998-2008 the VideoLAN team
  5.  * $Id: 6834f4d309d167718b12f607362cefc0edd32238 $
  6.  *
  7.  * Authors: Pierre d'Herbemont
  8.  *
  9.  * This program is free software; you can redistribute it and/or modify
  10.  * it under the terms of the GNU General Public License as published by
  11.  * the Free Software Foundation; either version 2 of the License, or
  12.  * (at your option) any later version.
  13.  *
  14.  * This program is distributed in the hope that it will be useful,
  15.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.  * GNU General Public License for more details.
  18.  *
  19.  * You should have received a copy of the GNU General Public License
  20.  * along with this program; if not, write to the Free Software
  21.  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  22.  *****************************************************************************/
  23. #ifndef LIBVLC_MEDIA_LIST_VIEW_H
  24. #define LIBVLC_MEDIA_LIST_VIEW_H 1
  25. /**
  26.  * file
  27.  * This file defines libvlc_media_list API
  28.  */
  29. # ifdef __cplusplus
  30. extern "C" {
  31. # endif
  32. /*****************************************************************************
  33.  * Media List View
  34.  *****************************************************************************/
  35. /** defgroup libvlc_media_list_view libvlc_media_list_view
  36.  * ingroup libvlc
  37.  * LibVLC Media List View, represent a media_list using a different layout
  38.  * @{ */
  39. /**
  40.  * Retain reference to a media list view
  41.  *
  42.  * param p_mlv a media list view created with libvlc_media_list_view_new()
  43.  */
  44. VLC_PUBLIC_API void
  45.     libvlc_media_list_view_retain( libvlc_media_list_view_t * p_mlv );
  46. /**
  47.  * Release reference to a media list view. If the refcount reaches 0, then
  48.  * the object will be released.
  49.  *
  50.  * param p_mlv a media list view created with libvlc_media_list_view_new()
  51.  */
  52. VLC_PUBLIC_API void
  53.     libvlc_media_list_view_release( libvlc_media_list_view_t * p_mlv );
  54. /**
  55.  * Get libvlc_event_manager from this media list view instance.
  56.  * The p_event_manager is immutable, so you don't have to hold the lock
  57.  *
  58.  * param p_mlv a media list view instance
  59.  * return libvlc_event_manager
  60.  */
  61. VLC_PUBLIC_API libvlc_event_manager_t *
  62.     libvlc_media_list_view_event_manager( libvlc_media_list_view_t * p_mlv );
  63. /**
  64.  * Get count on media list view items
  65.  *
  66.  * param p_mlv a media list view instance
  67.  * param p_e initialized exception object
  68.  * return number of items in media list view
  69.  */
  70. VLC_PUBLIC_API int
  71.     libvlc_media_list_view_count(  libvlc_media_list_view_t * p_mlv,
  72.                                    libvlc_exception_t * p_e );
  73. /**
  74.  * List media instance in media list view at an index position
  75.  *
  76.  * param p_mlv a media list view instance
  77.  * param i_index index position in array where to insert
  78.  * param p_e initialized exception object
  79.  * return media instance at position i_pos and libvlc_media_retain() has been called to increase the refcount on this object.
  80.  */
  81. VLC_PUBLIC_API libvlc_media_t *
  82.     libvlc_media_list_view_item_at_index(  libvlc_media_list_view_t * p_mlv,
  83.                                            int i_index,
  84.                                            libvlc_exception_t * p_e );
  85. VLC_PUBLIC_API libvlc_media_list_view_t *
  86.     libvlc_media_list_view_children_at_index(  libvlc_media_list_view_t * p_mlv,
  87.                                            int index,
  88.                                            libvlc_exception_t * p_e );
  89. VLC_PUBLIC_API libvlc_media_list_view_t *
  90.     libvlc_media_list_view_children_for_item(  libvlc_media_list_view_t * p_mlv,
  91.                                            libvlc_media_t * p_md,
  92.                                            libvlc_exception_t * p_e );
  93. /**
  94.  * Get index position of media instance in media list view.
  95.  * The function will return the first occurence.
  96.  *
  97.  * param p_mlv a media list view instance
  98.  * param p_md media instance
  99.  * param p_e initialized exception object
  100.  * return index position in array of p_md
  101.  */
  102. VLC_PUBLIC_API int
  103.     libvlc_media_list_view_index_of_item(  libvlc_media_list_view_t * p_mlv,
  104.                                            libvlc_media_t * p_md,
  105.                                            libvlc_exception_t * p_e );
  106. /**
  107.  * Insert media instance in media list view at index position
  108.  *
  109.  * param p_mlv a media list view instance
  110.  * param p_md media instance
  111.  * param index position in array where to insert
  112.  * param p_e initialized exception object
  113.  */
  114. VLC_PUBLIC_API void
  115.     libvlc_media_list_view_insert_at_index(  libvlc_media_list_view_t * p_mlv,
  116.                                              libvlc_media_t * p_md,
  117.                                              int index,
  118.                                              libvlc_exception_t * p_e );
  119. /**
  120.  * Remove media instance in media list view from index position
  121.  *
  122.  * param p_mlv a media list view instance
  123.  * param index position in array of media instance to remove
  124.  * param p_e initialized exception object
  125.  */
  126. VLC_PUBLIC_API void
  127.     libvlc_media_list_view_remove_at_index(  libvlc_media_list_view_t * p_mlv,
  128.                                              int index,
  129.                                              libvlc_exception_t * p_e );
  130. VLC_PUBLIC_API void
  131.     libvlc_media_list_view_add_item(  libvlc_media_list_view_t * p_mlv,
  132.                                       libvlc_media_t * p_md,
  133.                                       libvlc_exception_t * p_e );
  134. VLC_PUBLIC_API libvlc_media_list_t *
  135.     libvlc_media_list_view_parent_media_list(  libvlc_media_list_view_t * p_mlv,
  136.                                                libvlc_exception_t * p_e );
  137. /** @} media_list_view */
  138. # ifdef __cplusplus
  139. }
  140. # endif
  141. #endif /* LIBVLC_MEDIA_LIST_VIEW_H */