aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2017-12-29 20:16:02 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2017-12-29 20:16:02 +0000
commit0347366082328593b9981fa59ec7e4d6c0febb6b (patch)
tree8d4f9ab10f3e3e5225a2958805d8bb3464ff328c /src/plugins/Input
parent4575915c154c36977d96a5510f625afcc545fe91 (diff)
downloadqmmp-0347366082328593b9981fa59ec7e4d6c0febb6b.tar.gz
qmmp-0347366082328593b9981fa59ec7e4d6c0febb6b.tar.bz2
qmmp-0347366082328593b9981fa59ec7e4d6c0febb6b.zip
mpeg: feature to disable mpg123/mad support
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@7809 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Input')
-rw-r--r--src/plugins/Input/Input.pro6
-rw-r--r--src/plugins/Input/mpeg/decodermpegfactory.cpp14
-rw-r--r--src/plugins/Input/mpeg/mpeg.pro23
-rw-r--r--src/plugins/Input/mpeg/settingsdialog.cpp8
-rw-r--r--src/plugins/Input/mpeg/settingsdialog.ui2
5 files changed, 42 insertions, 11 deletions
diff --git a/src/plugins/Input/Input.pro b/src/plugins/Input/Input.pro
index 18caadb88..498c5ff60 100644
--- a/src/plugins/Input/Input.pro
+++ b/src/plugins/Input/Input.pro
@@ -1,7 +1,11 @@
include(../../../qmmp.pri)
TEMPLATE = subdirs
-SUBDIRS += mpeg vorbis cue sndfile wavpack
+SUBDIRS += vorbis cue sndfile wavpack
+
+contains(CONFIG, WITH_MAD)|contains(CONFIG, WITH_MPG123){
+ SUBDIRS += mpeg
+}
contains(CONFIG, FLAC_PLUGIN){
SUBDIRS += flac
diff --git a/src/plugins/Input/mpeg/decodermpegfactory.cpp b/src/plugins/Input/mpeg/decodermpegfactory.cpp
index 70aef6488..5b08a94df 100644
--- a/src/plugins/Input/mpeg/decodermpegfactory.cpp
+++ b/src/plugins/Input/mpeg/decodermpegfactory.cpp
@@ -36,8 +36,12 @@
#include "mpegmetadatamodel.h"
#include "replaygainreader.h"
#include "settingsdialog.h"
+#ifdef WITH_MAD
#include "decoder_mad.h"
+#endif
+#ifdef WITH_MPG123
#include "decoder_mpg123.h"
+#endif
#include "decodermpegfactory.h"
// DecoderMPEGFactory
@@ -126,8 +130,9 @@ const DecoderProperties DecoderMPEGFactory::properties() const
Decoder *DecoderMPEGFactory::create(const QString &url, QIODevice *input)
{
- QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
Decoder *d = 0;
+#if defined(WITH_MAD) && defined(WITH_MPG123)
+ QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
if(settings.value("MPEG/decoder", "mad").toString() == "mpg123")
{
qDebug("DecoderMPEGFactory: using mpg123 decoder");
@@ -138,8 +143,13 @@ Decoder *DecoderMPEGFactory::create(const QString &url, QIODevice *input)
qDebug("DecoderMPEGFactory: using MAD decoder");
d = new DecoderMAD(input);
}
+#elif defined(WITH_MAD)
+ d = new DecoderMAD(input);
+#elif defined(WITH_MPG123)
+ d = new DecoderMPG123(input);
+#endif
- if(!url.contains("://")) //local file
+ if(d && !url.contains("://")) //local file
{
ReplayGainReader rg(url);
d->setReplayGainInfo(rg.replayGainInfo());
diff --git a/src/plugins/Input/mpeg/mpeg.pro b/src/plugins/Input/mpeg/mpeg.pro
index e7d50b22e..5960a5f3a 100644
--- a/src/plugins/Input/mpeg/mpeg.pro
+++ b/src/plugins/Input/mpeg/mpeg.pro
@@ -3,21 +3,29 @@ include(../../plugins.pri)
TARGET = $$PLUGINS_PREFIX/Input/mpeg
HEADERS += decodermpegfactory.h \
- decoder_mad.h \
- decoder_mpg123.h \
settingsdialog.h \
tagextractor.h \
mpegmetadatamodel.h \
replaygainreader.h
-SOURCES += decoder_mad.cpp \
- decoder_mpg123.cpp \
- decodermpegfactory.cpp \
+SOURCES += decodermpegfactory.cpp \
settingsdialog.cpp \
tagextractor.cpp \
mpegmetadatamodel.cpp \
replaygainreader.cpp
+contains(CONFIG, WITH_MAD){
+ HEADERS += decoder_mad.h
+ SOURCES += decoder_mad.cpp
+ DEFINES += WITH_MAD
+}
+
+contains(CONFIG, WITH_MPG123){
+ HEADERS += decoder_mpg123.h
+ SOURCES += decoder_mpg123.cpp
+ DEFINES += WITH_MPG123
+}
+
FORMS += settingsdialog.ui
RESOURCES = translations/translations.qrc
@@ -25,8 +33,9 @@ RESOURCES = translations/translations.qrc
unix {
target.path = $$LIB_DIR/qmmp/Input
INSTALLS += target
- LIBS += -lmad
- PKGCONFIG += taglib mad libmpg123
+ PKGCONFIG += taglib
+ contains(CONFIG, WITH_MAD):PKGCONFIG += mad
+ contains(CONFIG, WITH_MPG123):PKGCONFIG += libmpg123
}
win32 {
diff --git a/src/plugins/Input/mpeg/settingsdialog.cpp b/src/plugins/Input/mpeg/settingsdialog.cpp
index 056cae3ab..c73876ad2 100644
--- a/src/plugins/Input/mpeg/settingsdialog.cpp
+++ b/src/plugins/Input/mpeg/settingsdialog.cpp
@@ -37,9 +37,17 @@ SettingsDialog::SettingsDialog(bool using_rusxmms, QWidget *parent)
QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
settings.beginGroup("MPEG");
+#if defined(WITH_MAD) && defined(WITH_MPG123)
QString decoderName = settings.value("decoder", "mad").toString();
m_ui.madRadioButton->setChecked(true);
m_ui.mpg123RadioButton->setChecked(decoderName == "mpg123");
+#elif defined(WITH_MAD)
+ m_ui.madRadioButton->setChecked(true);
+ m_ui.decoderGroupBox->setEnabled(false);
+#elif defined(WITH_MPG123)
+ m_ui.mpg123RadioButton->setChecked(true);
+ m_ui.decoderGroupBox->setEnabled(false);
+#endif
int pos = m_ui.id3v1EncComboBox->findText
(settings.value("ID3v1_encoding","ISO-8859-1").toString());
diff --git a/src/plugins/Input/mpeg/settingsdialog.ui b/src/plugins/Input/mpeg/settingsdialog.ui
index 799eed81c..e6c05e08b 100644
--- a/src/plugins/Input/mpeg/settingsdialog.ui
+++ b/src/plugins/Input/mpeg/settingsdialog.ui
@@ -24,7 +24,7 @@
<number>6</number>
</property>
<item>
- <widget class="QGroupBox" name="groupBox_3">
+ <widget class="QGroupBox" name="decoderGroupBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>