extended_panels.hpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _EQUALIZER_H_
00026 #define _EQUALIZER_H_
00027
00028 #ifdef HAVE_CONFIG_H
00029 # include "config.h"
00030 #endif
00031
00032 #include <vlc_common.h>
00033
00034 #include "ui/equalizer.h"
00035 #include "ui/video_effects.h"
00036 #include "ui/v4l2.h"
00037
00038 #include <QTabWidget>
00039
00040 #define BANDS 10
00041 #define NUM_SP_CTRL 5
00042
00043 class QSignalMapper;
00044
00045 class ExtVideo: public QObject
00046 {
00047 Q_OBJECT
00048 friend class ExtendedDialog;
00049 public:
00050 ExtVideo( struct intf_thread_t *, QTabWidget * );
00051 virtual ~ExtVideo();
00052
00053 private:
00054 Ui::ExtVideoWidget ui;
00055 QSignalMapper* filterMapper;
00056 intf_thread_t *p_intf;
00057 vout_thread_t *p_vout;
00058 void initComboBoxItems( QObject* );
00059 void setWidgetValue( QObject* );
00060 void ChangeVFiltersString( const char *psz_name, bool b_add );
00061 void clean();
00062 private slots:
00063 void updateFilters();
00064 void updateFilterOptions();
00065 void cropChange();
00066 };
00067
00068 class ExtV4l2 : public QWidget
00069 {
00070 Q_OBJECT
00071 public:
00072 ExtV4l2( intf_thread_t *, QWidget * );
00073 virtual ~ExtV4l2();
00074
00075 virtual void showEvent( QShowEvent *event );
00076
00077 private:
00078 intf_thread_t *p_intf;
00079 Ui::ExtV4l2Widget ui;
00080 QGroupBox *box;
00081
00082 private slots:
00083 void Refresh( void );
00084 void ValueChange( int value );
00085 void ValueChange( bool value );
00086 };
00087
00088 class Equalizer: public QWidget
00089 {
00090 Q_OBJECT
00091 friend class ExtendedDialog;
00092 public:
00093 Equalizer( intf_thread_t *, QWidget * );
00094 virtual ~Equalizer();
00095 QComboBox *presetsComboBox;
00096
00097 char * createValuesFromPreset( int i_preset );
00098 void updateUIFromCore();
00099 private:
00100 Ui::EqualizerWidget ui;
00101 QSlider *bands[BANDS];
00102 QLabel *band_texts[BANDS];
00103
00104 void delCallbacks( aout_instance_t * );
00105 void addCallbacks( aout_instance_t * );
00106
00107 intf_thread_t *p_intf;
00108 void clean();
00109 private slots:
00110 void enable(bool);
00111 void enable();
00112 void set2Pass();
00113 void setPreamp();
00114 void setCoreBands();
00115 void setCorePreset(int);
00116 };
00117
00118 class Spatializer: public QWidget
00119 {
00120 Q_OBJECT
00121 public:
00122 Spatializer( intf_thread_t *, QWidget * );
00123 virtual ~Spatializer();
00124
00125 private:
00126 QSlider *spatCtrl[NUM_SP_CTRL];
00127 QLabel *ctrl_texts[NUM_SP_CTRL];
00128 QLabel *ctrl_readout[NUM_SP_CTRL];
00129 float controlVars[5];
00130 float oldControlVars[5];
00131
00132 QCheckBox *enableCheck;
00133
00134 void delCallbacks( aout_instance_t * );
00135 void addCallbacks( aout_instance_t * );
00136 intf_thread_t *p_intf;
00137 private slots:
00138 void enable(bool);
00139 void enable();
00140 void setValues(float *);
00141 void setInitValues();
00142 };
00143
00144 class SyncControls : public QWidget
00145 {
00146 Q_OBJECT
00147 friend class ExtendedDialog;
00148 public:
00149 SyncControls( intf_thread_t *, QWidget * );
00150 virtual ~SyncControls() {};
00151 private:
00152 intf_thread_t *p_intf;
00153 QDoubleSpinBox *AVSpin;
00154 QDoubleSpinBox *subsSpin;
00155 QDoubleSpinBox *subSpeedSpin;
00156
00157 bool b_userAction;
00158
00159 void clean();
00160 public slots:
00161 void update();
00162 private slots:
00163 void advanceAudio( double );
00164 void advanceSubs( double );
00165 void adjustSubsSpeed( double );
00166 };
00167
00168 #endif