00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef AUDIOCLIP_EXTERNAL_PROCESSING_DIALOG_H
00023 #define AUDIOCLIP_EXTERNAL_PROCESSING_DIALOG_H
00024
00025 #include <QProcess>
00026 #include "ui_ExternalProcessingDialog.h"
00027 #include <QDialog>
00028
00029 class AudioClip;
00030 class Track;
00031 class AudioClipExternalProcessing;
00032 class QCompleter;
00033
00034 class ExternalProcessingDialog : public QDialog, protected Ui::ExternalProcessingDialog
00035 {
00036 Q_OBJECT
00037
00038 public:
00039 ExternalProcessingDialog(QWidget* parent, AudioClipExternalProcessing* acep);
00040 ~ExternalProcessingDialog();
00041
00042
00043 private:
00044 AudioClipExternalProcessing* m_acep;
00045 QProcess* m_processor;
00046 QCompleter* m_completer;
00047 QString m_filename;
00048 QString m_program;
00049 bool m_queryOptions;
00050 QStringList m_arguments;
00051 QString m_commandargs;
00052 QString m_infilename;
00053 QString m_outfilename;
00054 QString m_newClipName;
00055
00056 void query_options();
00057
00058 private slots:
00059 void read_standard_output();
00060 void prepare_for_external_processing();
00061 void process_started();
00062 void process_finished(int exitcode, QProcess::ExitStatus exitstatus);
00063 void arg_combo_index_changed ( const QString & text );
00064 void start_external_processing();
00065 void command_lineedit_text_changed(const QString & text);
00066 void process_error(QProcess::ProcessError error);
00067 };
00068
00069
00070 #endif
00071
00072