/**@} */
/*****************************************************************************
- * Tag Query
+ * Tag
*****************************************************************************/
-/** defgroup libvlc_tag_query Tag Query
+/** defgroup libvlc_tag Tag
* \ingroup libvlc
- * LibVLC Tag Query support in media descriptor
+ * LibVLC Tag support in media descriptor
* @{
*/
typedef struct libvlc_tag_query_t libvlc_tag_query_t;
+typedef char * libvlc_tag_t;
/**@} */
typedef enum libvlc_meta_t {
libvlc_meta_Title,
- libvlc_meta_Artist
+ libvlc_meta_Artist,
+ libvlc_meta_Genre,
+ libvlc_meta_Copyright,
+ libvlc_meta_Album,
+ libvlc_meta_TrackNumber,
+ libvlc_meta_Description,
+ libvlc_meta_Rating,
+ libvlc_meta_Date,
+ libvlc_meta_Setting,
+ libvlc_meta_URL,
+ libvlc_meta_Language,
+ libvlc_meta_NowPlaying,
+ libvlc_meta_Publisher,
+ libvlc_meta_EncodedBy,
+ libvlc_meta_ArtworkURL,
+ libvlc_meta_TrackID
} libvlc_meta_t;
/**@} */
typedef struct libvlc_media_instance_t libvlc_media_instance_t;
+typedef enum libvlc_state_t
+{
+ libvlc_Stopped,
+ libvlc_Opening,
+ libvlc_Buffering,
+ libvlc_Ended,
+ libvlc_Error,
+ libvlc_Playing,
+ libvlc_Paused
+} libvlc_state_t;
+
/**@} */
/*****************************************************************************
*/
typedef struct libvlc_media_list_t libvlc_media_list_t;
+typedef struct libvlc_media_list_view_t libvlc_media_list_view_t;
+
+/**@} */
+
+/*****************************************************************************
+ * Dynamic Media List
+ *****************************************************************************/
+/** defgroup libvlc_media_list MediaList
+ * \ingroup libvlc
+ * LibVLC Dynamic Media list: Media list with content synchronized with
+ * an other playlist
+ * @{
+ */
+
+typedef struct libvlc_dynamic_media_list_t libvlc_dynamic_media_list_t;
/**@} */
/**@} */
+/*****************************************************************************
+ * Media Library
+ *****************************************************************************/
+/** defgroup libvlc_media_library Media Library
+ * \ingroup libvlc
+ * LibVLC Media Library
+ * @{
+ */
+
+typedef struct libvlc_media_library_t libvlc_media_library_t;
+
+/**@} */
+
/*****************************************************************************
* Playlist
*****************************************************************************/
* LibVLC Video handling
* @{
*/
-
+
/**
* Downcast to this general type as placeholder for a platform specific one, such as:
* Drawable on X11,
/**@} */
+/*****************************************************************************
+ * Services/Media Discovery
+ *****************************************************************************/
+/** defgroup libvlc_media_discoverer Media Discoverer
+ * \ingroup libvlc
+ * LibVLC Media Discoverer
+ * @{
+ */
+
+typedef struct libvlc_media_discoverer_t libvlc_media_discoverer_t;
+
+/**@} */
+
/*****************************************************************************
* Message log handling
*****************************************************************************/
* LibVLC Event Callbacks
* @{
*/
-
+
/**
* Available events: (XXX: being reworked)
* - libvlc_MediaInstanceReachedEnd
*/
typedef enum libvlc_event_type_t {
+ libvlc_MediaDescriptorMetaChanged,
+ libvlc_MediaDescriptorSubItemAdded,
+ libvlc_MediaDescriptorDurationChanged,
+ libvlc_MediaDescriptorPreparsedChanged,
+ libvlc_MediaDescriptorFreed,
+
+ libvlc_MediaInstancePlayed,
+ libvlc_MediaInstancePaused,
libvlc_MediaInstanceReachedEnd,
+ libvlc_MediaInstancePositionChanged,
+
libvlc_MediaListItemAdded,
+ libvlc_MediaListWillAddItem,
libvlc_MediaListItemDeleted,
- libvlc_MediaListItemChanged,
+ libvlc_MediaListWillDeleteItem,
+
+ libvlc_MediaListViewItemAdded,
+ libvlc_MediaListViewWillAddItem,
+ libvlc_MediaListViewItemDeleted,
+ libvlc_MediaListViewWillDeleteItem,
+
+ libvlc_MediaListPlayerPlayed,
+ libvlc_MediaListPlayerNextItemSet,
+ libvlc_MediaListPlayerStopped,
+
} libvlc_event_type_t;
/**
void * p_obj;
union event_type_specific
{
+ /* media descriptor */
+ struct
+ {
+ libvlc_meta_t meta_type;
+ } media_descriptor_meta_changed;
+ struct
+ {
+ libvlc_media_descriptor_t * new_child;
+ } media_descriptor_subitem_added;
+ struct
+ {
+ vlc_int64_t new_duration;
+ } media_descriptor_duration_changed;
+ struct
+ {
+ int new_status;
+ } media_descriptor_preparsed_changed;
+ struct
+ {
+ libvlc_media_descriptor_t * md;
+ } media_descriptor_freed;
+
+ /* media instance */
+ struct
+ {
+ long int new_position;
+ } media_instance_position_changed;
+
+ /* media list */
struct
{
libvlc_media_descriptor_t * item;
int index;
} media_list_item_added;
struct
+ {
+ libvlc_media_descriptor_t * item;
+ int index;
+ } media_list_will_add_item;
+ struct
{
libvlc_media_descriptor_t * item;
int index;
{
libvlc_media_descriptor_t * item;
int index;
- } media_list_item_changed;
+ } media_list_will_delete_item;
+
+ /* media list view */
+ struct
+ {
+ libvlc_media_descriptor_t * item;
+ int index;
+ } media_list_view_item_added;
+ struct
+ {
+ libvlc_media_descriptor_t * item;
+ int index;
+ } media_list_view_will_add_item;
+ struct
+ {
+ libvlc_media_descriptor_t * item;
+ int index;
+ } media_list_view_item_deleted;
+ struct
+ {
+ libvlc_media_descriptor_t * item;
+ int index;
+ } media_list_view_will_delete_item;
} u;
} libvlc_event_t;