[vlc-devel] commit: Skins2: Avoid work by postponing to where and if it is needed. ( JP Dinger )
git version control
git at videolan.org
Sat Dec 5 22:35:09 CET 2009
vlc | branch: master | JP Dinger <jpd at videolan.org> | Sat Nov 21 12:52:58 2009 +0100| [5ab06f53a04131a55a1833565c3fe41b1923408f] | committer: JP Dinger
Skins2: Avoid work by postponing to where and if it is needed.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=5ab06f53a04131a55a1833565c3fe41b1923408f
---
modules/gui/skins2/src/vlcproc.cpp | 44 ++++++++++++++++-------------------
1 files changed, 20 insertions(+), 24 deletions(-)
diff --git a/modules/gui/skins2/src/vlcproc.cpp b/modules/gui/skins2/src/vlcproc.cpp
index e7ad990..27dd197 100644
--- a/modules/gui/skins2/src/vlcproc.cpp
+++ b/modules/gui/skins2/src/vlcproc.cpp
@@ -520,35 +520,25 @@ void VlcProc::on_intf_event_changed( vlc_object_t* p_obj, vlc_value_t newVal )
{
input_thread_t* pInput = (input_thread_t*) p_obj;
- StreamTime *pTime = (StreamTime*)m_cVarTime.get();
- VarBoolImpl *pVarSeekable = (VarBoolImpl*)m_cVarSeekable.get();
- VarBoolImpl *pVarRecordable = (VarBoolImpl*)m_cVarRecordable.get();
- VarBoolImpl *pVarRecording = (VarBoolImpl*)m_cVarRecording.get();
- VarBoolImpl *pVarDvdActive = (VarBoolImpl*)m_cVarDvdActive.get();
- VarBoolImpl *pVarHasVout = (VarBoolImpl*)m_cVarHasVout.get();
- VarBoolImpl *pVarHasAudio = (VarBoolImpl*)m_cVarHasAudio.get();
- VarBoolImpl *pVarFullscreen = (VarBoolImpl*)m_cVarFullscreen.get();
- VarBoolImpl *pVarPlaying = (VarBoolImpl*)m_cVarPlaying.get();
- VarBoolImpl *pVarStopped = (VarBoolImpl*)m_cVarStopped.get();
- VarBoolImpl *pVarPaused = (VarBoolImpl*)m_cVarPaused.get();
- VarBoolImpl *pVarEqualizer = (VarBoolImpl*)m_cVarEqualizer.get();
+# define SET_BOOL(m,v) ((VarBoolImpl*)(m).get())->set(v)
+# define SET_STREAMTIME(m,v,b) ((StreamTime*)(m).get())->set(v,b)
switch( newVal.i_int )
{
case INPUT_EVENT_STATE:
{
int state = var_GetInteger( pInput, "state" );
- pVarStopped->set( false );
- pVarPlaying->set( state != PAUSE_S );
- pVarPaused->set( state == PAUSE_S );
+ SET_BOOL( m_cVarStopped, false );
+ SET_BOOL( m_cVarPlaying, state != PAUSE_S );
+ SET_BOOL( m_cVarPaused, state == PAUSE_S );
break;
}
case INPUT_EVENT_POSITION:
{
float pos = var_GetFloat( pInput, "position" );
- pTime->set( pos, false );
- pVarSeekable->set( pos != 0.0 );
+ SET_STREAMTIME( m_cVarTime, pos, false );
+ SET_BOOL( m_cVarSeekable, pos != 0.0 );
break;
}
@@ -558,17 +548,18 @@ void VlcProc::on_intf_event_changed( vlc_object_t* p_obj, vlc_value_t newVal )
vlc_value_t audio_es;
var_Change( pInput, "audio-es", VLC_VAR_CHOICESCOUNT,
&audio_es, NULL );
- pVarHasAudio->set( audio_es.i_int > 0 );
+ SET_BOOL( m_cVarHasAudio, audio_es.i_int > 0 );
break;
}
case INPUT_EVENT_VOUT:
{
vout_thread_t* pVout = input_GetVout( pInput );
- pVarHasVout->set( pVout != NULL );
+ SET_BOOL( m_cVarHasVout, pVout != NULL );
if( pVout )
{
- pVarFullscreen->set( var_GetBool( pVout, "fullscreen" ) );
+ SET_BOOL( m_cVarFullscreen,
+ var_GetBool( pVout, "fullscreen" ) );
vlc_object_release( pVout );
}
break;
@@ -609,7 +600,7 @@ void VlcProc::on_intf_event_changed( vlc_object_t* p_obj, vlc_value_t newVal )
char *pFilters = var_GetNonEmptyString( pAout, "audio-filter" );
bool b_equalizer = pFilters && strstr( pFilters, "equalizer" );
free( pFilters );
- pVarEqualizer->set( b_equalizer );
+ SET_BOOL( m_cVarEqualizer, b_equalizer );
if( b_equalizer )
{
var_AddCallback( pAout, "equalizer-bands",
@@ -627,12 +618,12 @@ void VlcProc::on_intf_event_changed( vlc_object_t* p_obj, vlc_value_t newVal )
vlc_value_t chapters_count;
var_Change( pInput, "chapter", VLC_VAR_CHOICESCOUNT,
&chapters_count, NULL );
- pVarDvdActive->set( chapters_count.i_int > 0 );
+ SET_BOOL( m_cVarDvdActive, chapters_count.i_int > 0 );
break;
}
case INPUT_EVENT_RECORD:
- pVarRecording->set( var_GetBool( pInput, "record" ) );
+ SET_BOOL( m_cVarRecording, var_GetBool( pInput, "record" ) );
break;
case INPUT_EVENT_DEAD:
@@ -642,6 +633,10 @@ void VlcProc::on_intf_event_changed( vlc_object_t* p_obj, vlc_value_t newVal )
default:
break;
}
+
+# undef SET_BOOL
+# undef SET_STREAMTIME
+
}
void VlcProc::on_bit_rate_changed( vlc_object_t* p_obj, vlc_value_t newVal )
@@ -810,7 +805,6 @@ void VlcProc::init_variables()
void VlcProc::update_equalizer()
{
- VarBoolImpl *pVarEqualizer = (VarBoolImpl*)m_cVarEqualizer.get();
char *pFilters;
if( m_pAout )
@@ -820,6 +814,8 @@ void VlcProc::update_equalizer()
bool b_equalizer = pFilters && strstr( pFilters, "equalizer" );
free( pFilters );
+
+ VarBoolImpl *pVarEqualizer = (VarBoolImpl*)m_cVarEqualizer.get();
pVarEqualizer->set( b_equalizer );
}
More information about the vlc-devel
mailing list