aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/qmmp/abstractengine.cpp5
-rw-r--r--src/qmmp/abstractengine.h3
-rw-r--r--src/qmmp/soundcore.cpp8
3 files changed, 14 insertions, 2 deletions
diff --git a/src/qmmp/abstractengine.cpp b/src/qmmp/abstractengine.cpp
index be7c0c4e3..400551480 100644
--- a/src/qmmp/abstractengine.cpp
+++ b/src/qmmp/abstractengine.cpp
@@ -40,6 +40,11 @@ QWaitCondition *AbstractEngine::cond()
return &m_waitCondition;
}
+void AbstractEngine::setReplayGainSettings(const ReplayGainSettings &settings)
+{
+ Q_UNUSED(settings);
+}
+
// static methods
QList<EngineFactory*> *AbstractEngine::m_factories = 0;
QStringList AbstractEngine::m_files;
diff --git a/src/qmmp/abstractengine.h b/src/qmmp/abstractengine.h
index cdb005310..679230350 100644
--- a/src/qmmp/abstractengine.h
+++ b/src/qmmp/abstractengine.h
@@ -26,6 +26,7 @@
#include <QThread>
#include <QStringList>
#include "enginefactory.h"
+#include "replaygainsettings.h"
class QIODevice;
class InputSource;
@@ -85,6 +86,8 @@ public:
* Subclass with own equalizer should reimplement this function.
*/
virtual void setEQEnabled(bool on) = 0;
+
+ virtual void setReplayGainSettings(const ReplayGainSettings &settings);
/*!
* Returns a list of decoder factories.
*/
diff --git a/src/qmmp/soundcore.cpp b/src/qmmp/soundcore.cpp
index 5f7f17987..10809c1c6 100644
--- a/src/qmmp/soundcore.cpp
+++ b/src/qmmp/soundcore.cpp
@@ -243,6 +243,7 @@ bool SoundCore::enqueue(InputSource *s)
setEQ(m_bands, m_preamp);
setEQEnabled(m_useEQ);
+ setReplayGainSettings(m_replayGainSettings);
if(m_engine->enqueue(s))
{
m_source = s->url();
@@ -279,6 +280,9 @@ bool SoundCore::enqueue(InputSource *s)
return FALSE;
}
connect(engine, SIGNAL(playbackFinished()), SIGNAL(finished()));
+ engine->setEQ(m_bands, m_preamp);
+ engine->setEQEnabled(m_useEQ);
+ engine->setReplayGainSettings(m_replayGainSettings);
if (m_handler->state() == Qmmp::Playing || m_handler->state() == Qmmp::Paused)
{
if(m_pendingEngine)
@@ -292,9 +296,7 @@ bool SoundCore::enqueue(InputSource *s)
m_engine->play();
m_pendingEngine = 0;
}
- return FALSE;
}
-
return TRUE;
}
@@ -318,6 +320,8 @@ ReplayGainSettings SoundCore::replayGainSettings() const
void SoundCore::setReplayGainSettings(const ReplayGainSettings &settings)
{
m_replayGainSettings = settings;
+ if(m_engine)
+ m_engine->setReplayGainSettings(settings);
}
SoundCore* SoundCore::instance()