diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2017-12-29 20:16:02 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2017-12-29 20:16:02 +0000 |
| commit | 0347366082328593b9981fa59ec7e4d6c0febb6b (patch) | |
| tree | 8d4f9ab10f3e3e5225a2958805d8bb3464ff328c /src/plugins/Input | |
| parent | 4575915c154c36977d96a5510f625afcc545fe91 (diff) | |
| download | qmmp-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.pro | 6 | ||||
| -rw-r--r-- | src/plugins/Input/mpeg/decodermpegfactory.cpp | 14 | ||||
| -rw-r--r-- | src/plugins/Input/mpeg/mpeg.pro | 23 | ||||
| -rw-r--r-- | src/plugins/Input/mpeg/settingsdialog.cpp | 8 | ||||
| -rw-r--r-- | src/plugins/Input/mpeg/settingsdialog.ui | 2 |
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> |
