From db21f3b3428d88b19d2f82ae933830153310a1f1 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sat, 26 Dec 2009 22:41:24 +0000 Subject: enabled replaygain support (for mp3 file with ape tags only) git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1453 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/mad/decoder_mad.cpp | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'src/plugins/Input/mad/decoder_mad.cpp') diff --git a/src/plugins/Input/mad/decoder_mad.cpp b/src/plugins/Input/mad/decoder_mad.cpp index 3707abcbc..f76ff9350 100644 --- a/src/plugins/Input/mad/decoder_mad.cpp +++ b/src/plugins/Input/mad/decoder_mad.cpp @@ -8,21 +8,18 @@ #include #include #include - -#include "decoder_mad.h" -#include "tagextractor.h" #include #include - #include #include +#include "tagextractor.h" +#include "replaygainreader.h" +#include "decoder_mad.h" #define XING_MAGIC (('X' << 24) | ('i' << 16) | ('n' << 8) | 'g') #define INPUT_BUFFER_SIZE (32*1024) - -DecoderMAD::DecoderMAD(QIODevice *i) - : Decoder(i) +DecoderMAD::DecoderMAD(const QString &url, QIODevice *i) : Decoder(i) { m_inited = false; m_totalTime = 0; @@ -36,6 +33,7 @@ DecoderMAD::DecoderMAD(QIODevice *i) m_output_at = 0; m_skip_frames = 0; m_eof = false; + m_url = url; } DecoderMAD::~DecoderMAD() @@ -100,7 +98,14 @@ bool DecoderMAD::initialize() mad_frame_mute (&frame); stream.next_frame = 0; stream.sync = 0; - configure(m_freq, m_channels, 16); + + if(!m_url.contains("://")) + { + ReplayGainReader rg(m_url); + configure(m_freq, m_channels, 16, rg.replayGainInfo()); + } + else + configure(m_freq, m_channels, 16); m_inited = TRUE; return TRUE; -- cgit v1.2.3-13-gbd6f