vlc | branch: master | Erwan Tulou <[email protected]> | Mon Jan 28 12:35:00 2013 +0100| [d5d09d94ccfa4516e3b6abab6e2afaf12ea10406] | committer: Erwan Tulou
skins2: factorize some code > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=d5d09d94ccfa4516e3b6abab6e2afaf12ea10406 --- modules/gui/skins2/src/vlcproc.cpp | 52 +++++++++++++++++++++--------------- modules/gui/skins2/src/vlcproc.hpp | 3 +++ 2 files changed, 34 insertions(+), 21 deletions(-) diff --git a/modules/gui/skins2/src/vlcproc.cpp b/modules/gui/skins2/src/vlcproc.cpp index c7a8a3d..80b1395 100644 --- a/modules/gui/skins2/src/vlcproc.cpp +++ b/modules/gui/skins2/src/vlcproc.cpp @@ -453,27 +453,7 @@ void VlcProc::on_intf_event_changed( vlc_object_t* p_obj, vlc_value_t newVal ) getIntf()->p_sys->p_input = pInput; vlc_object_hold( pInput ); - input_item_t *p_item = input_GetItem( pInput ); - if( p_item ) - { - // Update short name - char *psz_name = input_item_GetName( p_item ); - SET_TEXT( m_cVarStreamName, UString( getIntf(), psz_name ) ); - free( psz_name ); - - // Update local path (if possible) or full uri - char *psz_uri = input_item_GetURI( p_item ); - char *psz_path = make_path( psz_uri ); - char *psz_save = psz_path ? psz_path : psz_uri; - SET_TEXT( m_cVarStreamURI, UString( getIntf(), psz_save ) ); - free( psz_path ); - free( psz_uri ); - - // Update art uri - char *psz_art = input_item_GetArtURL( p_item ); - SET_STRING( m_cVarStreamArt, string( psz_art ? psz_art : "" ) ); - free( psz_art ); - } + update_current_input(); } switch( newVal.i_int ) @@ -794,6 +774,36 @@ void VlcProc::init_variables() update_equalizer(); } + +void VlcProc::update_current_input() +{ + input_thread_t* pInput = getIntf()->p_sys->p_input; + if( !pInput ) + return; + + input_item_t *p_item = input_GetItem( pInput ); + if( p_item ) + { + // Update short name + char *psz_name = input_item_GetName( p_item ); + SET_TEXT( m_cVarStreamName, UString( getIntf(), psz_name ) ); + free( psz_name ); + + // Update local path (if possible) or full uri + char *psz_uri = input_item_GetURI( p_item ); + char *psz_path = make_path( psz_uri ); + char *psz_save = psz_path ? psz_path : psz_uri; + SET_TEXT( m_cVarStreamURI, UString( getIntf(), psz_save ) ); + free( psz_path ); + free( psz_uri ); + + // Update art uri + char *psz_art = input_item_GetArtURL( p_item ); + SET_STRING( m_cVarStreamArt, string( psz_art ? psz_art : "" ) ); + free( psz_art ); + } +} + void VlcProc::update_equalizer() { diff --git a/modules/gui/skins2/src/vlcproc.hpp b/modules/gui/skins2/src/vlcproc.hpp index ff397ef..6373102 100644 --- a/modules/gui/skins2/src/vlcproc.hpp +++ b/modules/gui/skins2/src/vlcproc.hpp @@ -98,6 +98,9 @@ public: /// update equalizer void update_equalizer( ); + /// update global variables for the current input + void update_current_input( ); + void on_intf_event_changed( vlc_object_t* p_obj, vlc_value_t newVal ); void on_bit_rate_changed( vlc_object_t* p_obj, vlc_value_t newVal ); void on_sample_rate_changed( vlc_object_t* p_obj, vlc_value_t newVal ); _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
