aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/General/rgscan/rgscandialog.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-09-25 12:05:06 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-09-25 12:05:06 +0000
commit6b48eaf5918e54b4f6cc7e9366da72ee6fe416b6 (patch)
treec9444416ff941a434fed97b7d2d786fa194088f9 /src/plugins/General/rgscan/rgscandialog.cpp
parent9705552640a9c340df9c8a8b3c3ce07ede56c278 (diff)
downloadqmmp-6b48eaf5918e54b4f6cc7e9366da72ee6fe416b6.tar.gz
qmmp-6b48eaf5918e54b4f6cc7e9366da72ee6fe416b6.tar.bz2
qmmp-6b48eaf5918e54b4f6cc7e9366da72ee6fe416b6.zip
rgscan: added album gain calculation
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3723 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/General/rgscan/rgscandialog.cpp')
-rw-r--r--src/plugins/General/rgscan/rgscandialog.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/plugins/General/rgscan/rgscandialog.cpp b/src/plugins/General/rgscan/rgscandialog.cpp
index 35c46502d..a55d4882b 100644
--- a/src/plugins/General/rgscan/rgscandialog.cpp
+++ b/src/plugins/General/rgscan/rgscandialog.cpp
@@ -25,6 +25,7 @@
#include <qmmpui/metadataformatter.h>
#include <qmmpui/filedialog.h>
#include "rgscaner.h"
+#include "gain_analysis.h"
#include "rgscandialog.h"
RGScanDialog::RGScanDialog(QList <PlayListTrack *> tracks, QWidget *parent) : QDialog(parent)
@@ -96,6 +97,23 @@ void RGScanDialog::onScanFinished(QString url)
{
qDebug("RGScanDialog: all threads finished");
QThreadPool::globalInstance()->waitForDone();
+
+
+ GainHandle_t **a = (GainHandle_t **) malloc(m_scaners.count()*sizeof(GainHandle_t *));
+
+ for(int i = 0; i < m_scaners.count(); ++i)
+ {
+ a[i] = m_scaners.at(i)->handle();
+ }
+
+ double album_gain = GetAlbumGain(a, m_scaners.count());
+ free(a);
+
+ for(int i = 0; i < m_ui.tableWidget->rowCount(); ++i)
+ {
+ m_ui.tableWidget->setItem(i, 3, new QTableWidgetItem(QString::number(album_gain)));
+ }
+
qDeleteAll(m_scaners);
m_scaners.clear();
}