From 711b5da24a68123321b534317fe39eb2535f710d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Cl=C3=A9ment=20Stenac?= Date: Sun, 12 Feb 2006 17:31:39 +0000 Subject: [PATCH] Add some playlist api functions Fix a bug in exceptions handling --- src/control/core.c | 1 + src/control/playlist.c | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/src/control/core.c b/src/control/core.c index 5e5f828ecb..e4432e84b9 100644 --- a/src/control/core.c +++ b/src/control/core.c @@ -39,6 +39,7 @@ void libvlc_exception_clear( libvlc_exception_t *p_exception ) { if( p_exception->psz_message ) free( p_exception->psz_message ); + p_exception->psz_message = NULL; p_exception->b_raised = 0; } diff --git a/src/control/playlist.c b/src/control/playlist.c index 7070307c26..ffdb55e7bc 100644 --- a/src/control/playlist.c +++ b/src/control/playlist.c @@ -90,6 +90,24 @@ void libvlc_playlist_clear( libvlc_instance_t *p_instance, playlist_Clear( p_instance->p_playlist ); } +void libvlc_playlist_next( libvlc_instance_t *p_instance, + libvlc_exception_t *p_exception ) +{ + if( playlist_Next( p_instance->p_playlist ) != VLC_SUCCESS ) + { + libvlc_exception_raise( p_exception, "Empty playlist" ); + } +} + +void libvlc_playlist_prev( libvlc_instance_t *p_instance, + libvlc_exception_t *p_exception ) +{ + if( playlist_Prev( p_instance->p_playlist ) != VLC_SUCCESS ) + { + libvlc_exception_raise( p_exception, "Empty playlist" ); + } +} + int libvlc_playlist_add( libvlc_instance_t *p_instance, const char *psz_uri, const char *psz_name, libvlc_exception_t *p_exception ) { @@ -107,7 +125,27 @@ int libvlc_playlist_add_extended( libvlc_instance_t *p_instance, i_options ); } +int libvlc_playlist_isplaying( libvlc_instance_t *p_instance, + libvlc_exception_t *p_exception ) +{ + if( !p_instance->p_playlist ) + { + libvlc_exception_raise( p_exception, "No playlist" ); + return 0; + } + return playlist_IsPlaying( p_instance->p_playlist ); +} +int libvlc_playlist_items_count( libvlc_instance_t *p_instance, + libvlc_exception_t *p_exception ) +{ + if( !p_instance->p_playlist ) + { + libvlc_exception_raise( p_exception, "No playlist" ); + return 0; + } + return p_instance->p_playlist->i_size; +} libvlc_input_t * libvlc_playlist_get_input( libvlc_instance_t *p_instance, libvlc_exception_t *p_exception ) -- 2.39.2