* $Id$
*
* Authors: Cyril Deguet <asmax@via.ecp.fr>
- * Olivier Teulière <ipkiss@via.ecp.fr>
+ * Olivier Teuli�e <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
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#ifndef VLCPROC_HPP
#include <set>
+#include "../vars/equalizer.hpp"
#include "../vars/playlist.hpp"
#include "../vars/playtree.hpp"
#include "../vars/time.hpp"
#include "../vars/volume.hpp"
+#include "../utils/position.hpp"
#include "../utils/var_text.hpp"
#include "../commands/cmd_generic.hpp"
class OSTimer;
class VarBool;
+struct aout_instance_t;
/// Singleton object handling VLC internal state and playlist
VarText &getStreamURIVar()
{ return *((VarText*)(m_cVarStreamURI.get())); }
+ /// Getter for the vout size variable
+ VarBox &getVoutSizeVar() { return m_varVoutSize; }
+
/// Set the vout window handle
void registerVoutWindow( void *pVoutWindow );
VariablePtr m_cVarStopped;
VariablePtr m_cVarPaused;
VariablePtr m_cVarSeekable;
+ /// Variables related to the vout
+ VariablePtr m_cVarFullscreen;
+ VarBox m_varVoutSize;
+ VariablePtr m_cVarHasVout;
+ /// Equalizer variables
+ EqualizerBands m_varEqBands;
+ VariablePtr m_cVarEqPreamp;
+ VariablePtr m_cVarEqualizer;
+ /// Variable for DVD detection
+ VariablePtr m_cVarDvdActive;
/// Set of handles of vout windows
/**
set<void *> m_handleSet;
/// Vout thread
vout_thread_t *m_pVout;
+ /// Audio output
+ aout_instance_t *m_pAout;
/**
* Poll VLC internals to update the status (volume, current time in
/// Define the command that calls manage()
DEFINE_CALLBACK( VlcProc, Manage );
+ /// Refresh audio variables
+ void refreshAudio();
+
/// Update the stream name variable
void updateStreamName( playlist_t *p_playlist );
vlc_value_t oldVal, vlc_value_t newVal,
void *pParam );
+ /// Callback for item-change variable
+ static int onItemAppend( vlc_object_t *pObj, const char *pVariable,
+ vlc_value_t oldVal, vlc_value_t newVal,
+ void *pParam );
+
+ /// Callback for item-change variable
+ static int onItemDelete( vlc_object_t *pObj, const char *pVariable,
+ vlc_value_t oldVal, vlc_value_t newVal,
+ void *pParam );
+
+
/// Callback for playlist-current variable
static int onPlaylistChange( vlc_object_t *pObj, const char *pVariable,
vlc_value_t oldVal, vlc_value_t newVal,
vlc_value_t oldVal, vlc_value_t newVal,
void *pParam );
+ /// Callback for interaction variable
+ static int onInteraction( vlc_object_t *pObj, const char *pVariable,
+ vlc_value_t oldVal, vlc_value_t newVal,
+ void *pParam );
+
/// Callback to request a vout window
static void *getWindow( intf_thread_t *pIntf, vout_thread_t *pVout,
int *pXHint, int *pYHint,
/// Callback to change a vout window
static int controlWindow( intf_thread_t *pIntf, void *pWindow,
int query, va_list args );
+
+ /// Callback for equalizer-bands variable
+ static int onEqBandsChange( vlc_object_t *pObj, const char *pVariable,
+ vlc_value_t oldVal, vlc_value_t newVal,
+ void *pParam );
+
+ /// Callback for equalizer-preamp variable
+ static int onEqPreampChange( vlc_object_t *pObj, const char *pVariable,
+ vlc_value_t oldVal, vlc_value_t newVal,
+ void *pParam );
};