/*****************************************************************************
- * control.h: global header for mediacontrol
+ * mediacontrol.h: global header for mediacontrol
*****************************************************************************
- * Copyright (C) 2005 the VideoLAN team
+ * Copyright (C) 2005-2008 the VideoLAN team
* $Id$
*
* Authors: Olivier Aubert <olivier.aubert@liris.univ-lyon1.fr>
*****************************************************************************/
/**
- * \defgroup mediacontrol MediaControl
+ * \file
+ * This file defines libvlc mediacontrol_* external API
+ */
+
+/**
+ * \defgroup mediacontrol MediaControl
* This is the MediaControl API, * intended to provide a generic API to movie players.
*
* @{
*/
-#ifndef _VLC_CONTROL_H
-#define _VLC_CONTROL_H 1
+#ifndef VLC_CONTROL_H
+#define VLC_CONTROL_H 1
# ifdef __cplusplus
extern "C" {
#if defined( WIN32 )
#include <windows.h>
-#define WINDOWHANDLE HWND
+typedef HWND WINDOWHANDLE;
#else
-#define WINDOWHANDLE int
+typedef int WINDOWHANDLE;
#endif
#include <vlc/libvlc.h>
/**
* mediacontrol_Instance is an opaque structure, defined in
- * mediacontrol_internal.h. API users do not have to mess with it.
+ * mediacontrol_internal.h. API users do not have to mess with it.
*/
typedef struct mediacontrol_Instance mediacontrol_Instance;
mediacontrol_exception_init( mediacontrol_Exception *exception );
/**
- * Free an exception structure.
- * \return the exception
+ * Clean up an existing exception structure after use.
+ * \param p_exception the exception to clean up.
+ */
+VLC_PUBLIC_API void
+mediacontrol_exception_cleanup( mediacontrol_Exception *exception );
+
+/**
+ * Free an exception structure created with mediacontrol_exception_create().
+ * \param p_exception the exception to free.
*/
VLC_PUBLIC_API void mediacontrol_exception_free(mediacontrol_Exception *exception);
*/
VLC_PUBLIC_API mediacontrol_Instance *
mediacontrol_new_from_instance( libvlc_instance_t* p_instance,
- mediacontrol_Exception *exception );
+ mediacontrol_Exception *exception );
/**
* Get the associated libvlc instance
VLC_PUBLIC_API libvlc_instance_t*
mediacontrol_get_libvlc_instance( mediacontrol_Instance* self );
+/**
+ * Get the associated libvlc_media_player
+ * \param self: the mediacontrol instance
+ * \return a libvlc_media_player_t instance
+ */
+VLC_PUBLIC_API libvlc_media_player_t*
+mediacontrol_get_media_player( mediacontrol_Instance* self );
+
/**
* Get the current position
* \param self the mediacontrol instance
/**
* Pause the movie at a given position
* \param self the mediacontrol instance
- * \param a_position a mediacontrol_Position (ignored for now)
* \param exception an initialized exception pointer
*/
VLC_PUBLIC_API void mediacontrol_pause( mediacontrol_Instance *self,
- const mediacontrol_Position *a_position,
mediacontrol_Exception *exception );
/**
* Resume the movie at a given position
* \param self the mediacontrol instance
- * \param a_position a mediacontrol_Position (ignored for now)
* \param exception an initialized exception pointer
*/
VLC_PUBLIC_API void mediacontrol_resume( mediacontrol_Instance *self,
- const mediacontrol_Position *a_position,
mediacontrol_Exception *exception );
/**
* Stop the movie at a given position
* \param self the mediacontrol instance
- * \param a_position a mediacontrol_Position (ignored for now)
* \param exception an initialized exception pointer
*/
VLC_PUBLIC_API void mediacontrol_stop( mediacontrol_Instance *self,
- const mediacontrol_Position *a_position,
mediacontrol_Exception *exception );
/**
VLC_PUBLIC_API void mediacontrol_exit( mediacontrol_Instance *self );
/**
- * Add a new MRL to the playlist
+ * Set the MRL to be played.
* \param self the mediacontrol instance
* \param psz_file the MRL
* \param exception an initialized exception pointer
*/
-VLC_PUBLIC_API void mediacontrol_playlist_add_item( mediacontrol_Instance *self,
+VLC_PUBLIC_API void mediacontrol_set_mrl( mediacontrol_Instance *self,
const char* psz_file,
mediacontrol_Exception *exception );
-/**
- * Clear the playlist
- * \param self the mediacontrol instance
- * \param exception an initialized exception pointer
- */
-VLC_PUBLIC_API void mediacontrol_playlist_clear( mediacontrol_Instance *self,
- mediacontrol_Exception *exception );
-/**
- * Get a flattened view of the playlist
- * \param self the mediacontrol instance
- * \param exception an initialized exception pointer
- * \return a list of strings
- */
-VLC_PUBLIC_API mediacontrol_PlaylistSeq *
- mediacontrol_playlist_get_list( mediacontrol_Instance *self,
- mediacontrol_Exception *exception );
/**
- * Play the next item
+ * Get the MRL to be played.
* \param self the mediacontrol instance
* \param exception an initialized exception pointer
*/
-VLC_PUBLIC_API void
-mediacontrol_playlist_next_item( mediacontrol_Instance *self,
- mediacontrol_Exception *exception );
+VLC_PUBLIC_API char * mediacontrol_get_mrl( mediacontrol_Instance *self,
+ mediacontrol_Exception *exception );
/*****************************************************************************
* A/V functions
const mediacontrol_Position *a_position,
mediacontrol_Exception *exception );
-/* Return a NULL terminated list */
-/**
- * Get a list of all cached snapshots (unimplemented)
- * \param self the mediacontrol instance
- * \param exception an initialized exception pointer
- * \return a NULL-terminated list of RGBpicture
- */
-VLC_PUBLIC_API mediacontrol_RGBPicture **
- mediacontrol_all_snapshots( mediacontrol_Instance *self,
- mediacontrol_Exception *exception );
-
/**
* Displays the message string, between "begin" and "end" positions.
* \param self the mediacontrol instance
* \param visual_id the Xid or HWND, depending on the platform
* \param exception an initialized exception pointer
*/
-VLC_PUBLIC_API vlc_bool_t mediacontrol_set_visual( mediacontrol_Instance *self,
+VLC_PUBLIC_API int mediacontrol_set_visual( mediacontrol_Instance *self,
WINDOWHANDLE visual_id,
mediacontrol_Exception *exception );
* \return the rate
*/
VLC_PUBLIC_API int mediacontrol_get_rate( mediacontrol_Instance *self,
- mediacontrol_Exception *exception );
+ mediacontrol_Exception *exception );
/**
* Set the playing rate, in percent
* \param exception an initialized exception pointer
*/
VLC_PUBLIC_API void mediacontrol_set_rate( mediacontrol_Instance *self,
- const int rate,
- mediacontrol_Exception *exception );
+ const int rate,
+ mediacontrol_Exception *exception );
/**
* Get current fullscreen status
* \return the fullscreen status
*/
VLC_PUBLIC_API int mediacontrol_get_fullscreen( mediacontrol_Instance *self,
- mediacontrol_Exception *exception );
+ mediacontrol_Exception *exception );
/**
* Set fullscreen status
* \param exception an initialized exception pointer
*/
VLC_PUBLIC_API void mediacontrol_set_fullscreen( mediacontrol_Instance *self,
- const int b_fullscreen,
- mediacontrol_Exception *exception );
+ const int b_fullscreen,
+ mediacontrol_Exception *exception );
# ifdef __cplusplus
}