1 
2 #ifndef SOUNDKONVERTER_RIPPER_CDPARANOIA_H
3 #define SOUNDKONVERTER_RIPPER_CDPARANOIA_H
4 
5 #include "../../core/ripperplugin.h"
6 
7 #include <KUrl>
8 #include <KProcess>
9 #include <QList>
10 #include <QWeakPointer>
11 
12 class KDialog;
13 class QCheckBox;
14 class QComboBox;
15 class QSpinBox;
16 
17 
18 class soundkonverter_ripper_cdparanoia : public RipperPlugin
19 {
20     Q_OBJECT
21 public:
22     /** Default Constructor */
23     soundkonverter_ripper_cdparanoia( QObject *parent, const QVariantList& args );
24 
25     /** Default Destructor */
26     ~soundkonverter_ripper_cdparanoia();
27 
28     QString name() const;
29 
30     QList<ConversionPipeTrunk> codecTable();
31 
32     bool isConfigSupported( ActionType action, const QString& codecName );
33     void showConfigDialog( ActionType action, const QString& codecName, QWidget *parent );
34     bool hasInfo();
35     void showInfo( QWidget *parent );
36 
37     int rip( const QString& device, int track, int tracks, const KUrl& outputFile );
38     QStringList ripCommand( const QString& device, int track, int tracks, const KUrl& outputFile );
39     float parseOutput( const QString& output, int *fromSector, int *toSector );
40     float parseOutput( const QString& output );
41 
42 private slots:
43     /** Get the process' output */
44     void processOutput();
45 
46 private:
47     QWeakPointer<KDialog> configDialog;
48     QCheckBox *configDialogForceReadSpeedCheckBox;
49     QSpinBox *configDialogForceReadSpeedSpinBox;
50     QComboBox *configDialogForceEndiannessComboBox;
51     QSpinBox *configDialogMaximumRetriesSpinBox;
52     QCheckBox *configDialogEnableParanoiaCheckBox;
53     QCheckBox *configDialogEnableExtraParanoiaCheckBox;
54 
55     int forceReadSpeed;
56     int forceEndianness;
57     int maximumRetries;
58     bool enableParanoia;
59     bool enableExtraParanoia;
60 
61 private slots:
62     void configDialogForceReadSpeedChanged( int state );
63     void configDialogSave();
64     void configDialogDefault();
65 };
66 
67 #endif // SOUNDKONVERTER_RIPPER_CDPARANOIA_H
68