* $Id$
*
* Authors: Cyril Deguet <asmax@via.ecp.fr>
- * Olivier Teuli�e <ipkiss@via.ecp.fr>
+ * Olivier Teulière <ipkiss@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
-#include <vlc/aout.h>
-#include <vlc/vout.h>
-#include <aout_internal.h>
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <vlc_common.h>
+#include <vlc_aout.h>
+#include <vlc_vout.h>
+#include <vlc_playlist.h>
+#include <vlc_window.h>
#include "vlcproc.hpp"
#include "os_factory.hpp"
var_AddCallback( pIntf->p_sys->p_playlist, "item-deleted",
onItemDelete, this );
// Called when the "interface shower" wants us to show the skin
- var_AddCallback( pIntf->p_sys->p_playlist, "intf-show",
+ var_AddCallback( pIntf->p_libvlc, "intf-show",
onIntfShow, this );
// Called when the current played item changes
var_AddCallback( pIntf->p_sys->p_playlist, "playlist-current",
// Called when we have an interaction dialog to display
var_Create( pIntf, "interaction", VLC_VAR_ADDRESS );
var_AddCallback( pIntf, "interaction", onInteraction, this );
- pIntf->b_interaction = VLC_TRUE;
-
- // Callbacks for vout requests
- getIntf()->pf_request_window = &getWindow;
- getIntf()->pf_release_window = &releaseWindow;
- getIntf()->pf_control_window = &controlWindow;
+ pIntf->b_interaction = true;
getIntf()->p_sys->p_input = NULL;
}
vlc_object_release( getIntf()->p_sys->p_input );
}
- // Callbacks for vout requests
- getIntf()->pf_request_window = NULL;
- getIntf()->pf_release_window = NULL;
- getIntf()->pf_control_window = NULL;
-
var_DelCallback( getIntf()->p_sys->p_playlist, "intf-change",
onIntfChange, this );
var_DelCallback( getIntf()->p_sys->p_playlist, "item-append",
onItemAppend, this );
var_DelCallback( getIntf()->p_sys->p_playlist, "item-deleted",
onItemDelete, this );
- var_DelCallback( getIntf()->p_sys->p_playlist, "intf-show",
+ var_DelCallback( getIntf()->p_libvlc, "intf-show",
onIntfShow, this );
var_DelCallback( getIntf()->p_sys->p_playlist, "playlist-current",
onPlaylistChange, this );
// Reparent the vout window
if( m_pVout )
{
- if( vout_Control( m_pVout, VOUT_REPARENT ) != VLC_SUCCESS )
+ if( vout_Control( m_pVout, VOUT_REPARENT, 0 ) != VLC_SUCCESS )
vout_Control( m_pVout, VOUT_CLOSE );
}
}
{
if( m_pVout )
{
- if( vout_Control( m_pVout, VOUT_REPARENT ) != VLC_SUCCESS )
+ if( vout_Control( m_pVout, VOUT_REPARENT, 0 ) != VLC_SUCCESS )
vout_Control( m_pVout, VOUT_CLOSE );
m_pVout = NULL;
}
void VlcProc::manage()
{
// Did the user request to quit vlc ?
- if( getIntf()->b_die || getIntf()->p_vlc->b_die )
+ if( intf_ShouldDie( getIntf() ) )
{
CmdQuit *pCmd = new CmdQuit( getIntf() );
AsyncQueue *pQueue = AsyncQueue::instance( getIntf() );
void VlcProc::refreshAudio()
{
- char *pFilters = NULL;
+ char *pFilters;
// Check if the audio output has changed
aout_instance_t *pAout = (aout_instance_t *)vlc_object_find( getIntf(),
}
}
// Get the audio filters
- pFilters = var_GetString( pAout, "audio-filter" );
+ pFilters = var_GetNonEmptyString( pAout, "audio-filter" );
vlc_object_release( pAout );
}
else
// Refresh the equalizer variable
VarBoolImpl *pVarEqualizer = (VarBoolImpl*)m_cVarEqualizer.get();
pVarEqualizer->set( pFilters && strstr( pFilters, "equalizer" ) );
+ free( pFilters );
}
void VlcProc::refreshPlaylist()
if( p_playlist && p_playlist->p_input )
{
// Get playlist item information
- input_item_t *pItem = p_playlist->p_input->input.p_item;
+ input_item_t *pItem = input_GetItem(p_playlist->p_input);
VarText &rStreamName = getStreamNameVar();
VarText &rStreamURI = getStreamURIVar();
}
-int VlcProc::controlWindow( intf_thread_t *pIntf, void *pWindow,
+int VlcProc::controlWindow( struct vout_window_t *pWnd,
int query, va_list args )
{
+ intf_thread_t *pIntf = (intf_thread_t *)pWnd->p_private;
VlcProc *pThis = pIntf->p_sys->p_vlcProc;
switch( query )
// Post a resize vout command
CmdResizeVout *pCmd =
- new CmdResizeVout( pThis->getIntf(), pWindow,
+ new CmdResizeVout( pThis->getIntf(), pWnd->handle,
i_width, i_height );
AsyncQueue *pQueue = AsyncQueue::instance( pThis->getIntf() );
pQueue->push( CmdGenericPtr( pCmd ) );
}
default:
- msg_Dbg( pIntf, "control query not supported" );
+ msg_Dbg( pWnd, "control query not supported" );
break;
}