diff --git a/src/transcoder/transcoder.cpp b/src/transcoder/transcoder.cpp index 83d47cafe..8b148a6d0 100644 --- a/src/transcoder/transcoder.cpp +++ b/src/transcoder/transcoder.cpp @@ -319,7 +319,7 @@ Song::FileType Transcoder::PickBestFormat(QList supported) { } void Transcoder::AddJob(const QString& input, const TranscoderPreset& preset, - const QString& output) { + const QString& output, bool overwrite_existing) { Job job; job.input = input; job.preset = preset; @@ -331,8 +331,8 @@ void Transcoder::AddJob(const QString& input, const TranscoderPreset& preset, else job.output = input.section('.', 0, -2) + '.' + preset.extension_; - // Never overwrite existing files - if (QFile::exists(job.output)) { + // Don't overwrite existing files if overwrite_existing is not set + if (!overwrite_existing && QFile::exists(job.output)) { for (int i = 0;; ++i) { QString new_filename = QString("%1.%2.%3") .arg(job.output.section('.', 0, -2)) diff --git a/src/transcoder/transcoder.h b/src/transcoder/transcoder.h index b44e7706c..cde7917f5 100644 --- a/src/transcoder/transcoder.h +++ b/src/transcoder/transcoder.h @@ -71,7 +71,8 @@ class Transcoder : public QObject { void set_max_threads(int count) { max_threads_ = count; } void AddJob(const QString& input, const TranscoderPreset& preset, - const QString& output = QString()); + const QString& output = QString(), + bool overwrite_existing = false); void AddTemporaryJob(const QString& input, const TranscoderPreset& preset); QMap GetProgress() const;