Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --- a/src/QtGain.cpp
- +++ b/src/QtGain.cpp
- @@ -270,7 +270,13 @@ void QtGain::processFiles_TrackGain(){
- }
- // Check output of replay gain tools
- - processOutput();
- + if (this->m_lastFileSkipped) {
- + addSkippedFiles();
- + if (isLogSkippedFiles()) addToErrorlog(tr("<font color='green'>File already gained -> skipped</font> :: %1<br>").arg(currentFileName()));
- + } else {
- + processOutput();
- + }
- + this->m_lastFileSkipped = false;
- if (finishedFiles() < allFiles.size()){
- @@ -305,8 +311,17 @@ void QtGain::processFiles_TrackGain(){
- // FLAC
- else if (allFiles[finishedFiles()].endsWith(".flac", Qt::CaseInsensitive)){
- ui.FileFormatIcon->setPixmap(QPixmap(":/Icons/flac.png"));
- - Parameter << "--add-replay-gain" << allFiles[finishedFiles()];
- - TrackGainProcess->start(FlacGainBinaryPath(), Parameter);
- + // Check if flac file is already gained, metaflac does not do this by itself
- + QProcess checkProcess;
- + checkProcess.start(FlacGainBinaryPath(), QStringList() << "--show-tag" << "REPLAYGAIN_TRACK_GAIN" << allFiles[finishedFiles()]);
- + checkProcess.waitForFinished();
- + QString output(checkProcess.readAllStandardOutput());
- + if (output.contains("REPLAYGAIN_TRACK_GAIN=")) {
- + this->m_lastFileSkipped = true;
- + } else {
- + Parameter << "--add-replay-gain" << allFiles[finishedFiles()];
- + TrackGainProcess->start(FlacGainBinaryPath(), Parameter);
- + }
- }
- }
- @@ -347,6 +362,8 @@ void QtGain::processFiles_TrackGain(){
- else {
- setCurrentFileName(allFiles[finishedFiles()]);
- addFinishedFiles();
- + if (this->m_lastFileSkipped)
- + QMetaObject::invokeMethod( this, "processFiles_TrackGain", Qt::QueuedConnection);
- }
- }
- @@ -499,6 +516,7 @@ void QtGain::processFoundFiles(){
- }
- setGUI_To(BUSY);
- + this->m_lastFileSkipped = false;
- isTrackGain() ? processFiles_TrackGain() : processFiles_AlbumGain();
- } else {
- setGUI_To(IDLE, tr("No media files found..."));
- --- a/src/QtGain.h
- +++ b/src/QtGain.h
- @@ -51,6 +51,7 @@ private:
- QAction *actionQuit;
- QString m_Errorlog;
- QString m_lastAlbumGainOutput;
- + bool m_lastFileSkipped;
- void startupInitiations();
- void processOutput();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement