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