1 
2 #ifndef SOXCODECWIDGET_H
3 #define SOXCODECWIDGET_H
4 
5 #include "../../core/codecwidget.h"
6 
7 class QCheckBox;
8 class QSlider;
9 class QSpinBox;
10 class QDoubleSpinBox;
11 class QLabel;
12 class KComboBox;
13 class KLineEdit;
14 
15 
16 class SoxCodecWidget : public CodecWidget
17 {
18     Q_OBJECT
19 public:
20     SoxCodecWidget();
21     ~SoxCodecWidget();
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     // flac
32     QLabel         *lCompressionLevel;
33     QSlider        *sCompressionLevel;
34     QSpinBox       *iCompressionLevel;
35     // mp2, mp3 and ogg vorbis
36     QLabel         *lMode;
37     KComboBox      *cMode;
38     QLabel         *lQuality;
39     QSlider        *sQuality;
40     QDoubleSpinBox *dQuality;
41     // amr nb and amr wb
42     QLabel         *lBitratePreset;
43     KComboBox      *cBitratePreset;
44 
45     QCheckBox *cCmdArguments;
46     KLineEdit *lCmdArguments;
47 
48     QString currentFormat; // holds the current output file format
49 
50 private slots:
51     void compressionLevelSliderChanged( int quality );
52     void compressionLevelSpinBoxChanged( int quality );
53 
54     void modeChanged( int mode );
55     void qualitySliderChanged( int quality );
56     void qualitySpinBoxChanged( double quality );
57 };
58 
59 #endif // SOXCODECWIDGET_H
60