p_input = NULL;
i_rate = 0;
i_input_id = 0;
+ b_transparentTelextext = false;
}
InputManager::~InputManager()
vlc_object_yield( p_input );
emit statusChanged( PLAYING_S );
UpdateMeta();
- UpdateNavigation();
UpdateArt();
UpdateSPU();
+ UpdateNavigation();
addCallbacks();
i_input_id = input_GetItem( p_input )->i_id;
}
break;
case ItemChanged_Type:
UpdateMeta();
- UpdateNavigation();
UpdateStatus();
UpdateArt();
break;
- case ItemRateChanged_Type:
- UpdateRate();
+ case ItemStateChanged_Type:
+ UpdateStatus();
+ UpdateNavigation();
+ UpdateMeta();
break;
case ItemTitleChanged_Type:
UpdateNavigation();
UpdateMeta();
break;
- case ItemStateChanged_Type:
- UpdateStatus();
+ case ItemRateChanged_Type:
+ UpdateRate();
+ break;
case ItemSpuChanged_Type:
UpdateSPU();
break;
vlc_object_release( p_vbi );
}
}
+ emit setNewTelexPage( page );
}
void InputManager::telexToggle( bool b_enabled )
{
vlc_value_t val;
vlc_object_t *p_vbi;
+ var_Change( p_input, "spu-es", VLC_VAR_CHOICESCOUNT, &val, NULL );
+ b_enabled = (val.i_int > 0);
p_vbi = (vlc_object_t *) vlc_object_find_name( p_input,
"zvbi", FIND_ANYWHERE );
if( p_vbi )
{
i_page = var_GetInteger( p_vbi, "vbi-page" );
vlc_object_release( p_vbi );
+ i_page = b_enabled ? i_page : 0;
+ telexGotoPage( i_page );
}
- var_Change( p_input, "spu-es", VLC_VAR_CHOICESCOUNT, &val, NULL );
- b_enabled = (val.i_int > 0);
}
emit teletextEnabled( b_enabled );
- i_page = b_enabled ? i_page : 0;
- telexGotoPage( i_page );
}
-void InputManager::telexSetTransparency( bool b_transp )
+void InputManager::telexToggleButtons()
+{
+ emit toggleTelexButtons();
+}
+
+void InputManager::telexSetTransparency()
{
if( hasInput() )
{
"zvbi", FIND_ANYWHERE );
if( p_vbi )
{
- var_SetBool( p_input->p_libvlc, "vbi-opaque", b_transp );
+ var_SetBool( p_vbi, "vbi-opaque", b_transparentTelextext );
+ b_transparentTelextext = !b_transparentTelextext;
vlc_object_release( p_vbi );
}
}
+ emit toggleTelexTransparency();
}
void InputManager::slower()
/* Warn our embedded IM about input changes */
CONNECT( this, inputChanged( input_thread_t * ),
im, setInput( input_thread_t * ) );
+
+ /* emit check if playlist has allready started playing */
+ vlc_value_t val;
+ var_Change( THEPL, "playlist-current", VLC_VAR_CHOICESCOUNT, &val, NULL );
+ IMEvent *event = new IMEvent( ItemChanged_Type, val.i_int);
+ QApplication::postEvent( this, static_cast<QEvent*>(event) );
+
}
MainInputManager::~MainInputManager()
getIM()->togglePlayPause();
}
+bool MainInputManager::teletextState()
+{
+ im = getIM();
+ if( im->hasInput() )
+ {
+ vlc_value_t val;
+ vlc_object_t *p_vbi;
+ p_vbi = (vlc_object_t *) vlc_object_find_name( getInput(),
+ "zvbi", FIND_ANYWHERE );
+ if( p_vbi )
+ {
+ vlc_object_release( p_vbi );
+ return true;
+ }
+ var_Change( getInput(), "spu-es", VLC_VAR_CHOICESCOUNT, &val, NULL );
+ return (val.i_int > 0);
+ }
+ return false;
+}
+
/* Static callbacks */
/* IM */