///////////////////////////////////////////////////////////////////////////////
// LameXP - Audio Encoder Front-End
-// Copyright (C) 2004-2011 LoRd_MuldeR <MuldeR2@GMX.de>
+// Copyright (C) 2004-2012 LoRd_MuldeR <MuldeR2@GMX.de>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
class QMutex;
class AbstractFilter;
+class WaveProperties;
class ProcessThread: public QThread
{
Q_OBJECT
public:
- ProcessThread(const AudioFileModel &audioFile, const QString &outputDirectory, AbstractEncoder *encoder, const bool prependRelativeSourcePath);
+ ProcessThread(const AudioFileModel &audioFile, const QString &outputDirectory, const QString &tempDirectory, AbstractEncoder *encoder, const bool prependRelativeSourcePath);
~ProcessThread(void);
void run();
void abort() { m_aborted = true; }
QUuid getId() { return m_jobId; }
+ void setRenamePattern(const QString &pattern);
void addFilter(AbstractFilter *filter);
private slots:
enum ProcessStep
{
DecodingStep = 0,
- FilteringStep = 1,
- EncodingStep = 2,
- UnknownStep = 3
+ AnalyzeStep = 1,
+ FilteringStep = 2,
+ EncodingStep = 3,
+ UnknownStep = 4
};
void processFile();
QString generateOutFileName(void);
QString generateTempFileName(void);
+ void insertDownsampleFilter(void);
+ void insertDownmixFilter(void);
const QUuid m_jobId;
AudioFileModel m_audioFile;
AbstractEncoder *m_encoder;
const QString m_outputDirectory;
+ const QString m_tempDirectory;
volatile bool m_aborted;
ProcessStep m_currentStep;
QStringList m_tempFiles;
const bool m_prependRelativeSourcePath;
QList<AbstractFilter*> m_filters;
+ QString m_renamePattern;
+ WaveProperties *m_propDetect;
static QMutex *m_mutex_genFileName;
};