diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2020-03-28 19:07:19 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2020-03-28 19:07:19 +0000 |
| commit | 6d082ac87495b002221a3528402bfd448a6d4015 (patch) | |
| tree | 02c53f1965db3a76afe3093bc0b2c25f180d7373 /src | |
| parent | 4db8d20982b9d5dc6d36e798cd5742ee44e17e1a (diff) | |
| download | qmmp-6d082ac87495b002221a3528402bfd448a6d4015.tar.gz qmmp-6d082ac87495b002221a3528402bfd448a6d4015.tar.bz2 qmmp-6d082ac87495b002221a3528402bfd448a6d4015.zip | |
added DSD support
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@9323 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src')
| -rw-r--r-- | src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp | 11 | ||||
| -rw-r--r-- | src/plugins/Input/ffmpeg/settingsdialog.cpp | 9 | ||||
| -rw-r--r-- | src/plugins/Input/ffmpeg/settingsdialog.ui | 11 |
3 files changed, 24 insertions, 7 deletions
diff --git a/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp b/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp index 29379fb74..e9d0d1f64 100644 --- a/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp +++ b/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp @@ -92,8 +92,9 @@ bool DecoderFFmpegFactory::canDecode(QIODevice *i) const DecoderProperties DecoderFFmpegFactory::properties() const { QSettings settings(Qmmp::configFile(), QSettings::IniFormat); - QStringList filters; - filters << "*.wma" << "*.ape" << "*.tta" << "*.m4a" << "*.aac" << "*.ra" << "*.shn" << "*.vqf" << "*.ac3" << "*.tak"; + QStringList filters = { + "*.wma", "*.ape", "*.tta", "*.m4a", "*.aac", "*.ra", "*.shn", "*.vqf", "*.ac3", "*.tak", "*.dsf", "*.dsdiff" + }; filters = settings.value("FFMPEG/filters", filters).toStringList(); if(!avcodec_find_decoder(AV_CODEC_ID_WMAV1)) @@ -122,7 +123,11 @@ DecoderProperties DecoderFFmpegFactory::properties() const filters.removeAll("*.vqf"); if(!avcodec_find_decoder(AV_CODEC_ID_TAK)) filters.removeAll("*.tak"); - + if(!avcodec_find_decoder(AV_CODEC_ID_DSD_LSBF)) + { + filters.removeAll("*.dsf"); + filters.removeAll("*.dsdiff"); + } DecoderProperties properties; properties.name = tr("FFmpeg Plugin"); diff --git a/src/plugins/Input/ffmpeg/settingsdialog.cpp b/src/plugins/Input/ffmpeg/settingsdialog.cpp index e3c2ad22c..5c7bfb8d3 100644 --- a/src/plugins/Input/ffmpeg/settingsdialog.cpp +++ b/src/plugins/Input/ffmpeg/settingsdialog.cpp @@ -35,8 +35,9 @@ SettingsDialog::SettingsDialog(QWidget *parent) m_ui.setupUi(this); setAttribute(Qt::WA_DeleteOnClose); QSettings settings(Qmmp::configFile(), QSettings::IniFormat); - QStringList filters; - filters << "*.wma" << "*.ape" << "*.tta" << "*.m4a" << "*.aac" << "*.ra" << "*.shn" << "*.vqf" << "*.ac3" << "*.tak"; + QStringList filters = { + "*.wma", "*.ape", "*.tta", "*.m4a", "*.aac", "*.ra", "*.shn", "*.vqf", "*.ac3", "*.tak", "*.dsf", "*.dsdiff" + }; filters = settings.value("FFMPEG/filters", filters).toStringList(); m_ui.wmaCheckBox->setEnabled(avcodec_find_decoder(AV_CODEC_ID_WMAV1)); @@ -65,6 +66,8 @@ SettingsDialog::SettingsDialog(QWidget *parent) m_ui.vqfCheckBox->setChecked(filters.contains("*.vqf") && avcodec_find_decoder(AV_CODEC_ID_TWINVQ)); m_ui.takCheckBox->setEnabled(avcodec_find_decoder(AV_CODEC_ID_TAK)); m_ui.takCheckBox->setChecked(filters.contains("*.tak") && avcodec_find_decoder(AV_CODEC_ID_TAK)); + m_ui.dsdCheckBox->setEnabled(avcodec_find_decoder(AV_CODEC_ID_DSD_LSBF)); + m_ui.dsdCheckBox->setChecked(filters.contains("*.dsd") && avcodec_find_decoder(AV_CODEC_ID_DSD_LSBF)); } SettingsDialog::~SettingsDialog() @@ -100,6 +103,8 @@ void SettingsDialog::accept() filters << "*.vqf"; if (m_ui.takCheckBox->isChecked()) filters << "*.tak"; + if (m_ui.dsdCheckBox->isChecked()) + filters << "*.dsf" << "*.dsdiff"; QSettings settings(Qmmp::configFile(), QSettings::IniFormat); settings.setValue("FFMPEG/filters", filters); QDialog::accept(); diff --git a/src/plugins/Input/ffmpeg/settingsdialog.ui b/src/plugins/Input/ffmpeg/settingsdialog.ui index ba601556a..0df5618c9 100644 --- a/src/plugins/Input/ffmpeg/settingsdialog.ui +++ b/src/plugins/Input/ffmpeg/settingsdialog.ui @@ -6,8 +6,8 @@ <rect> <x>0</x> <y>0</y> - <width>337</width> - <height>447</height> + <width>361</width> + <height>486</height> </rect> </property> <property name="windowTitle"> @@ -146,6 +146,13 @@ </property> </widget> </item> + <item> + <widget class="QCheckBox" name="dsdCheckBox"> + <property name="text"> + <string>Direct Stream Digital (DSD)</string> + </property> + </widget> + </item> </layout> </widget> </item> |
