libvlc_media_list_player.h

Go to the documentation of this file.
00001 /*****************************************************************************
00002  * libvlc_media_list.h:  libvlc_media_list API
00003  *****************************************************************************
00004  * Copyright (C) 1998-2008 the VideoLAN team
00005  * $Id: 725ddb2582882119d049cb8b6e009a52d6a81981 $
00006  *
00007  * Authors: Pierre d'Herbemont
00008  *
00009  * This program is free software; you can redistribute it and/or modify
00010  * it under the terms of the GNU General Public License as published by
00011  * the Free Software Foundation; either version 2 of the License, or
00012  * (at your option) any later version.
00013  *
00014  * This program is distributed in the hope that it will be useful,
00015  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00016  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017  * GNU General Public License for more details.
00018  *
00019  * You should have received a copy of the GNU General Public License
00020  * along with this program; if not, write to the Free Software
00021  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
00022  *****************************************************************************/
00023 
00024 #ifndef LIBVLC_MEDIA_LIST_PLAYER_H
00025 #define LIBVLC_MEDIA_LIST_PLAYER_H 1
00026 
00027 /**
00028  * \file
00029  * This file defines libvlc_media_list_player API
00030  */
00031 
00032 # ifdef __cplusplus
00033 extern "C" {
00034 # endif
00035 
00036 /*****************************************************************************
00037  * Media List Player
00038  *****************************************************************************/
00039 /** \defgroup libvlc_media_list_player libvlc_media_list_player
00040  * \ingroup libvlc
00041  * LibVLC Media List Player, play a media_list. You can see that as a media
00042  * instance subclass
00043  * @{
00044  */
00045 
00046 typedef struct libvlc_media_list_player_t libvlc_media_list_player_t;
00047 
00048 /**
00049  *  Defines playback modes for playlist.
00050  */
00051 typedef enum libvlc_playback_mode_t
00052 {
00053     libvlc_playback_mode_default,
00054     libvlc_playback_mode_loop,
00055     libvlc_playback_mode_repeat
00056 } libvlc_playback_mode_t;
00057 
00058 /**
00059  * Create new media_list_player.
00060  *
00061  * \param p_instance libvlc instance
00062  * \param p_e initialized exception instance
00063  * \return media list player instance
00064  */
00065 VLC_PUBLIC_API libvlc_media_list_player_t *
00066     libvlc_media_list_player_new( libvlc_instance_t * p_instance,
00067                                   libvlc_exception_t * p_e );
00068 
00069 /**
00070  * Release media_list_player.
00071  *
00072  * \param p_mlp media list player instance
00073  */
00074 VLC_PUBLIC_API void
00075     libvlc_media_list_player_release( libvlc_media_list_player_t * p_mlp );
00076 
00077 /**
00078  * Return the event manager of this media_list_player.
00079  *
00080  * \param p_mlp media list player instance
00081  */
00082 VLC_PUBLIC_API libvlc_event_manager_t *
00083     libvlc_media_list_player_event_manager(libvlc_media_list_player_t * p_mlp);
00084 
00085 /**
00086  * Replace media player in media_list_player with this instance.
00087  *
00088  * \param p_mlp media list player instance
00089  * \param p_mi media player instance
00090  * \param p_e initialized exception instance
00091  */
00092 VLC_PUBLIC_API void
00093     libvlc_media_list_player_set_media_player(
00094                                      libvlc_media_list_player_t * p_mlp,
00095                                      libvlc_media_player_t * p_mi,
00096                                      libvlc_exception_t * p_e );
00097 
00098 VLC_PUBLIC_API void
00099     libvlc_media_list_player_set_media_list(
00100                                      libvlc_media_list_player_t * p_mlp,
00101                                      libvlc_media_list_t * p_mlist,
00102                                      libvlc_exception_t * p_e );
00103 
00104 /**
00105  * Play media list
00106  *
00107  * \param p_mlp media list player instance
00108  * \param p_e initialized exception instance
00109  */
00110 VLC_PUBLIC_API void
00111     libvlc_media_list_player_play( libvlc_media_list_player_t * p_mlp,
00112                                    libvlc_exception_t * p_e );
00113 
00114 /**
00115  * Pause media list
00116  *
00117  * \param p_mlp media list player instance
00118  * \param p_e initialized exception instance
00119  */
00120 VLC_PUBLIC_API void
00121     libvlc_media_list_player_pause( libvlc_media_list_player_t * p_mlp,
00122                                    libvlc_exception_t * p_e );
00123 
00124 /**
00125  * Is media list playing?
00126  *
00127  * \param p_mlp media list player instance
00128  * \param p_e initialized exception instance
00129  * \return true for playing and false for not playing
00130  */
00131 VLC_PUBLIC_API int
00132     libvlc_media_list_player_is_playing( libvlc_media_list_player_t * p_mlp,
00133                                          libvlc_exception_t * p_e );
00134 
00135 /**
00136  * Get current libvlc_state of media list player
00137  *
00138  * \param p_mlp media list player instance
00139  * \param p_e initialized exception instance
00140  * \return libvlc_state_t for media list player
00141  */
00142 VLC_PUBLIC_API libvlc_state_t
00143     libvlc_media_list_player_get_state( libvlc_media_list_player_t * p_mlp,
00144                                         libvlc_exception_t * p_e );
00145 
00146 /**
00147  * Play media list item at position index
00148  *
00149  * \param p_mlp media list player instance
00150  * \param i_index index in media list to play
00151  * \param p_e initialized exception instance
00152  */
00153 VLC_PUBLIC_API void
00154     libvlc_media_list_player_play_item_at_index(
00155                                    libvlc_media_list_player_t * p_mlp,
00156                                    int i_index,
00157                                    libvlc_exception_t * p_e );
00158 
00159 VLC_PUBLIC_API void
00160     libvlc_media_list_player_play_item(
00161                                    libvlc_media_list_player_t * p_mlp,
00162                                    libvlc_media_t * p_md,
00163                                    libvlc_exception_t * p_e );
00164 
00165 /**
00166  * Stop playing media list
00167  *
00168  * \param p_mlp media list player instance
00169  * \param p_e initialized exception instance
00170  */
00171 VLC_PUBLIC_API void
00172     libvlc_media_list_player_stop( libvlc_media_list_player_t * p_mlp,
00173                                    libvlc_exception_t * p_e );
00174 
00175 /**
00176  * Play next item from media list
00177  *
00178  * \param p_mlp media list player instance
00179  * \param p_e initialized exception instance
00180  */
00181 VLC_PUBLIC_API void
00182     libvlc_media_list_player_next( libvlc_media_list_player_t * p_mlp,
00183                                    libvlc_exception_t * p_e );
00184 
00185 /**
00186  * Play previous item from media list
00187  *
00188  * \param p_mlp media list player instance
00189  * \param p_e initialized exception instance
00190  */
00191 VLC_PUBLIC_API void
00192     libvlc_media_list_player_previous( libvlc_media_list_player_t * p_mlp,
00193                                        libvlc_exception_t * p_e );
00194 
00195 
00196 
00197 /**
00198  * Sets the playback mode for the playlist
00199  *
00200  * \param p_mlp media list player instance
00201  * \param e_mode playback mode specification
00202  * \param p_e initialized exception instance
00203  */
00204 VLC_PUBLIC_API void
00205     libvlc_media_list_player_set_playback_mode( 
00206                                         libvlc_media_list_player_t * p_mlp,
00207                                         libvlc_playback_mode_t e_mode,
00208                                         libvlc_exception_t * p_e );
00209 
00210 /** @} media_list_player */
00211 
00212 # ifdef __cplusplus
00213 }
00214 # endif
00215 
00216 #endif /* LIBVLC_MEDIA_LIST_PLAYER_H */

Generated on Sun Nov 22 08:05:12 2009 for VLC by  doxygen 1.5.6