00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef PROJECT_CONVERTER_H
00023 #define PROJECT_CONVERTER_H
00024
00025 #include <QObject>
00026 #include <QString>
00027 #include <QDomDocument>
00028 #include <QHash>
00029
00030 class AudioFileMerger;
00031 class ReadSource;
00032
00033 class ProjectConverter : public QObject
00034 {
00035 Q_OBJECT
00036
00037 public:
00038 ProjectConverter();
00039
00040 void set_project(const QString& rootdir, const QString& name);
00041 int start();
00042 void stop_conversion();
00043 QString get_conversion_description();
00044
00045 private:
00046 QHash<qint64, ReadSource*> m_readsources;
00047 AudioFileMerger* m_merger;
00048 int m_filesToMerge;
00049 int m_filesMerged;
00050 QDomDocument m_document;
00051 QString m_rootdir;
00052 QString m_projectname;
00053 int m_projectfileversion;
00054
00055 int save_converted_document();
00056 int start_conversion_from_version_2_to_3();
00057
00058 private slots:
00059 void conversion_finished();
00060 void file_merge_started(QString file);
00061 void file_merge_finished(QString file);
00062 void finish_2_3_conversion();
00063 void processing_stopped();
00064
00065 signals:
00066 void progress(int);
00067 void actionProgressInfo(QString);
00068 void fileMergeStarted(QString file);
00069 void fileMergeFinished(QString file);
00070 void conversionFinished();
00071 void message(QString);
00072 };
00073
00074 #endif