1 
2 #ifndef LAMECODECWIDGET_H
3 #define LAMECODECWIDGET_H
4 
5 #include "../../core/codecwidget.h"
6 
7 #include <QGroupBox>
8 
9 class KComboBox;
10 class QSpinBox;
11 class QCheckBox;
12 class QLabel;
13 class QSlider;
14 class KLineEdit;
15 
16 class LameCodecWidget : public CodecWidget
17 {
18     Q_OBJECT
19 public:
20     LameCodecWidget();
21     ~LameCodecWidget();
22 
23     ConversionOptions *currentConversionOptions();
24     bool setCurrentConversionOptions( const ConversionOptions *_options );
25     void setCurrentFormat( const QString& format );
26     QString currentProfile();
27     bool setCurrentProfile( const QString& profile );
28     int currentDataRate();
29 
30 private:
31     // preset selection
32     KComboBox *cPreset;
33     QSpinBox *iPresetBitrate;
34     QCheckBox *cPresetBitrateCbr;
35     QCheckBox *cPresetFast;
36     // user defined options
37     QGroupBox *userdefinedBox;
38     KComboBox *cMode;
39     QSpinBox *iQuality;
40     QSlider *sQuality;
41     KComboBox *cBitrateMode;
42     QSlider *sCompressionLevel;
43     QSpinBox *iCompressionLevel;
44     QCheckBox *cCmdArguments;
45     KLineEdit *lCmdArguments;
46 
47     QString currentFormat; // holds the current output file format
48 
49     int bitrateForQuality( int quality );
50     int qualityForBitrate( int bitrate );
51 
52 private slots:
53     // presets
54     void presetChanged( const QString& preset );
55     void presetBitrateChanged( int bitrate );
56     // user defined options
57     void modeChanged( int mode );
58     void qualitySliderChanged( int quality );
59     void qualitySpinBoxChanged( int quality );
60     void compressionLevelSliderChanged( int quality );
61     void compressionLevelSpinBoxChanged( int quality );
62 };
63 
64 #endif // LAMECODECWIDGET_H