diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2018-10-15 20:41:44 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2018-10-15 20:41:44 +0000 |
| commit | ebbe482778dc5296be8f64b436d89326a2db1e04 (patch) | |
| tree | 89631475c44e4fac8da8a61b9c252f69a2b5e955 /src/plugins/Input/ffmpeg | |
| parent | b8869117077e2d9cc6ba99fb7cacf5c75323bcba (diff) | |
| download | qmmp-ebbe482778dc5296be8f64b436d89326a2db1e04.tar.gz qmmp-ebbe482778dc5296be8f64b436d89326a2db1e04.tar.bz2 qmmp-ebbe482778dc5296be8f64b436d89326a2db1e04.zip | |
added TAK support (#975)
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8389 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Input/ffmpeg')
| -rw-r--r-- | src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp | 7 | ||||
| -rw-r--r-- | src/plugins/Input/ffmpeg/settingsdialog.cpp | 128 | ||||
| -rw-r--r-- | src/plugins/Input/ffmpeg/settingsdialog.h | 4 | ||||
| -rw-r--r-- | src/plugins/Input/ffmpeg/settingsdialog.ui | 11 |
4 files changed, 84 insertions, 66 deletions
diff --git a/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp b/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp index e82e39900..f10186c69 100644 --- a/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp +++ b/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp @@ -81,6 +81,8 @@ bool DecoderFFmpegFactory::canDecode(QIODevice *i) const return true; else if(filters.contains("*.m4a") && (formats.contains("m4a") || formats.contains("mp4"))) return true; + else if(filters.contains("*.tak")) + return true; return false; } @@ -88,7 +90,7 @@ DecoderProperties DecoderFFmpegFactory::properties() const { QSettings settings(Qmmp::configFile(), QSettings::IniFormat); QStringList filters; - filters << "*.wma" << "*.ape" << "*.tta" << "*.m4a" << "*.aac" << "*.ra" << "*.shn" << "*.vqf" << "*.ac3"; + filters << "*.wma" << "*.ape" << "*.tta" << "*.m4a" << "*.aac" << "*.ra" << "*.shn" << "*.vqf" << "*.ac3" << "*.tak"; filters = settings.value("FFMPEG/filters", filters).toStringList(); if(!avcodec_find_decoder(AV_CODEC_ID_WMAV1)) @@ -115,6 +117,9 @@ DecoderProperties DecoderFFmpegFactory::properties() const filters.removeAll("*.mka"); if(!avcodec_find_decoder(AV_CODEC_ID_TWINVQ)) filters.removeAll("*.vqf"); + if(!avcodec_find_decoder(AV_CODEC_ID_TAK)) + filters.removeAll("*.tak"); + DecoderProperties properties; properties.name = tr("FFmpeg Plugin"); diff --git a/src/plugins/Input/ffmpeg/settingsdialog.cpp b/src/plugins/Input/ffmpeg/settingsdialog.cpp index 07467fe8c..8cf7ea4e7 100644 --- a/src/plugins/Input/ffmpeg/settingsdialog.cpp +++ b/src/plugins/Input/ffmpeg/settingsdialog.cpp @@ -32,62 +32,66 @@ extern "C"{ SettingsDialog::SettingsDialog(QWidget *parent) : QDialog(parent) { - ui.setupUi(this); + 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"; + filters << "*.wma" << "*.ape" << "*.tta" << "*.m4a" << "*.aac" << "*.ra" << "*.shn" << "*.vqf" << "*.ac3" << "*.tak"; filters = settings.value("FFMPEG/filters", filters).toStringList(); #if (LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,34,0)) //libav 10 - ui.wmaCheckBox->setEnabled(avcodec_find_decoder(AV_CODEC_ID_WMAV1)); - ui.wmaCheckBox->setChecked(filters.contains("*.wma") && avcodec_find_decoder(AV_CODEC_ID_WMAV1)); - ui.apeCheckBox->setEnabled(avcodec_find_decoder(AV_CODEC_ID_APE)); - ui.apeCheckBox->setChecked(filters.contains("*.ape") && avcodec_find_decoder(AV_CODEC_ID_APE)); - ui.ttaCheckBox->setEnabled(avcodec_find_decoder(AV_CODEC_ID_TTA)); - ui.ttaCheckBox->setChecked(filters.contains("*.tta") && avcodec_find_decoder(AV_CODEC_ID_TTA)); - ui.aacCheckBox->setEnabled(avcodec_find_decoder(AV_CODEC_ID_AAC)); - ui.aacCheckBox->setChecked(filters.contains("*.aac") && avcodec_find_decoder(AV_CODEC_ID_AAC)); - ui.mp3CheckBox->setEnabled(avcodec_find_decoder(AV_CODEC_ID_MP3)); - ui.mp3CheckBox->setChecked(filters.contains("*.mp3") && avcodec_find_decoder(AV_CODEC_ID_MP3)); - ui.mp4CheckBox->setEnabled(avcodec_find_decoder(AV_CODEC_ID_AAC)); - ui.mp4CheckBox->setChecked(filters.contains("*.m4a") && (avcodec_find_decoder(AV_CODEC_ID_AAC) - || avcodec_find_decoder(AV_CODEC_ID_ALAC))); - ui.raCheckBox->setEnabled(avcodec_find_decoder(AV_CODEC_ID_RA_288)); - ui.raCheckBox->setChecked(filters.contains("*.ra") && avcodec_find_decoder(AV_CODEC_ID_RA_288)); - ui.shCheckBox->setChecked(filters.contains("*.shn") && avcodec_find_decoder(AV_CODEC_ID_SHORTEN)); - ui.ac3CheckBox->setEnabled(avcodec_find_decoder(AV_CODEC_ID_EAC3)); - ui.ac3CheckBox->setChecked(filters.contains("*.ac3") && avcodec_find_decoder(AV_CODEC_ID_EAC3)); - ui.dtsCheckBox->setEnabled(avcodec_find_decoder(AV_CODEC_ID_DTS)); - ui.dtsCheckBox->setChecked(filters.contains("*.dts") && avcodec_find_decoder(AV_CODEC_ID_DTS)); - ui.mkaCheckBox->setEnabled(avcodec_find_decoder(AV_CODEC_ID_TRUEHD)); - ui.mkaCheckBox->setChecked(filters.contains("*.mka") && avcodec_find_decoder(AV_CODEC_ID_TRUEHD)); - ui.vqfCheckBox->setEnabled(avcodec_find_decoder(AV_CODEC_ID_TWINVQ)); - ui.vqfCheckBox->setChecked(filters.contains("*.vqf") && avcodec_find_decoder(AV_CODEC_ID_TWINVQ)); + m_ui.wmaCheckBox->setEnabled(avcodec_find_decoder(AV_CODEC_ID_WMAV1)); + m_ui.wmaCheckBox->setChecked(filters.contains("*.wma") && avcodec_find_decoder(AV_CODEC_ID_WMAV1)); + m_ui.apeCheckBox->setEnabled(avcodec_find_decoder(AV_CODEC_ID_APE)); + m_ui.apeCheckBox->setChecked(filters.contains("*.ape") && avcodec_find_decoder(AV_CODEC_ID_APE)); + m_ui.ttaCheckBox->setEnabled(avcodec_find_decoder(AV_CODEC_ID_TTA)); + m_ui.ttaCheckBox->setChecked(filters.contains("*.tta") && avcodec_find_decoder(AV_CODEC_ID_TTA)); + m_ui.aacCheckBox->setEnabled(avcodec_find_decoder(AV_CODEC_ID_AAC)); + m_ui.aacCheckBox->setChecked(filters.contains("*.aac") && avcodec_find_decoder(AV_CODEC_ID_AAC)); + m_ui.mp3CheckBox->setEnabled(avcodec_find_decoder(AV_CODEC_ID_MP3)); + m_ui.mp3CheckBox->setChecked(filters.contains("*.mp3") && avcodec_find_decoder(AV_CODEC_ID_MP3)); + m_ui.mp4CheckBox->setEnabled(avcodec_find_decoder(AV_CODEC_ID_AAC)); + m_ui.mp4CheckBox->setChecked(filters.contains("*.m4a") && (avcodec_find_decoder(AV_CODEC_ID_AAC) + || avcodec_find_decoder(AV_CODEC_ID_ALAC))); + m_ui.raCheckBox->setEnabled(avcodec_find_decoder(AV_CODEC_ID_RA_288)); + m_ui.raCheckBox->setChecked(filters.contains("*.ra") && avcodec_find_decoder(AV_CODEC_ID_RA_288)); + m_ui.shCheckBox->setChecked(filters.contains("*.shn") && avcodec_find_decoder(AV_CODEC_ID_SHORTEN)); + m_ui.ac3CheckBox->setEnabled(avcodec_find_decoder(AV_CODEC_ID_EAC3)); + m_ui.ac3CheckBox->setChecked(filters.contains("*.ac3") && avcodec_find_decoder(AV_CODEC_ID_EAC3)); + m_ui.dtsCheckBox->setEnabled(avcodec_find_decoder(AV_CODEC_ID_DTS)); + m_ui.dtsCheckBox->setChecked(filters.contains("*.dts") && avcodec_find_decoder(AV_CODEC_ID_DTS)); + m_ui.mkaCheckBox->setEnabled(avcodec_find_decoder(AV_CODEC_ID_TRUEHD)); + m_ui.mkaCheckBox->setChecked(filters.contains("*.mka") && avcodec_find_decoder(AV_CODEC_ID_TRUEHD)); + m_ui.vqfCheckBox->setEnabled(avcodec_find_decoder(AV_CODEC_ID_TWINVQ)); + 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)); #else - ui.wmaCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_WMAV1)); - ui.wmaCheckBox->setChecked(filters.contains("*.wma") && avcodec_find_decoder(CODEC_ID_WMAV1)); - ui.apeCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_APE)); - ui.apeCheckBox->setChecked(filters.contains("*.ape") && avcodec_find_decoder(CODEC_ID_APE)); - ui.ttaCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_TTA)); - ui.ttaCheckBox->setChecked(filters.contains("*.tta") && avcodec_find_decoder(CODEC_ID_TTA)); - ui.aacCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_AAC)); - ui.aacCheckBox->setChecked(filters.contains("*.aac") && avcodec_find_decoder(CODEC_ID_AAC)); - ui.mp3CheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_MP3)); - ui.mp3CheckBox->setChecked(filters.contains("*.mp3") && avcodec_find_decoder(CODEC_ID_MP3)); - ui.mp4CheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_AAC)); - ui.mp4CheckBox->setChecked(filters.contains("*.m4a") && (avcodec_find_decoder(CODEC_ID_AAC) + m_ui.wmaCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_WMAV1)); + m_ui.wmaCheckBox->setChecked(filters.contains("*.wma") && avcodec_find_decoder(CODEC_ID_WMAV1)); + m_ui.apeCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_APE)); + m_ui.apeCheckBox->setChecked(filters.contains("*.ape") && avcodec_find_decoder(CODEC_ID_APE)); + m_ui.ttaCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_TTA)); + m_ui.ttaCheckBox->setChecked(filters.contains("*.tta") && avcodec_find_decoder(CODEC_ID_TTA)); + m_ui.aacCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_AAC)); + m_ui.aacCheckBox->setChecked(filters.contains("*.aac") && avcodec_find_decoder(CODEC_ID_AAC)); + m_ui.mp3CheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_MP3)); + m_ui.mp3CheckBox->setChecked(filters.contains("*.mp3") && avcodec_find_decoder(CODEC_ID_MP3)); + m_ui.mp4CheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_AAC)); + m_ui.mp4CheckBox->setChecked(filters.contains("*.m4a") && (avcodec_find_decoder(CODEC_ID_AAC) || avcodec_find_decoder(CODEC_ID_ALAC))); - ui.raCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_RA_288)); - ui.raCheckBox->setChecked(filters.contains("*.ra") && avcodec_find_decoder(CODEC_ID_RA_288)); - ui.shCheckBox->setChecked(filters.contains("*.shn") && avcodec_find_decoder(CODEC_ID_SHORTEN)); - ui.ac3CheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_EAC3)); - ui.ac3CheckBox->setChecked(filters.contains("*.ac3") && avcodec_find_decoder(CODEC_ID_EAC3)); - ui.dtsCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_DTS)); - ui.dtsCheckBox->setChecked(filters.contains("*.dts") && avcodec_find_decoder(CODEC_ID_DTS)); - ui.mkaCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_TRUEHD)); - ui.mkaCheckBox->setChecked(filters.contains("*.mka") && avcodec_find_decoder(CODEC_ID_TRUEHD)); - ui.vqfCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_TWINVQ)); - ui.vqfCheckBox->setChecked(filters.contains("*.vqf") && avcodec_find_decoder(CODEC_ID_TWINVQ)); + m_ui.raCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_RA_288)); + m_ui.raCheckBox->setChecked(filters.contains("*.ra") && avcodec_find_decoder(CODEC_ID_RA_288)); + m_ui.shCheckBox->setChecked(filters.contains("*.shn") && avcodec_find_decoder(CODEC_ID_SHORTEN)); + m_ui.ac3CheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_EAC3)); + m_ui.ac3CheckBox->setChecked(filters.contains("*.ac3") && avcodec_find_decoder(CODEC_ID_EAC3)); + m_ui.dtsCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_DTS)); + m_ui.dtsCheckBox->setChecked(filters.contains("*.dts") && avcodec_find_decoder(CODEC_ID_DTS)); + m_ui.mkaCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_TRUEHD)); + m_ui.mkaCheckBox->setChecked(filters.contains("*.mka") && avcodec_find_decoder(CODEC_ID_TRUEHD)); + m_ui.vqfCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_TWINVQ)); + m_ui.vqfCheckBox->setChecked(filters.contains("*.vqf") && avcodec_find_decoder(CODEC_ID_TWINVQ)); + m_ui.takCheckBox->setEnabled(avcodec_find_decoder(CODEC_ID_TAK)); + m_ui.takCheckBox->setChecked(filters.contains("*.tak") && avcodec_find_decoder(CODEC_ID_TAK)); #endif } @@ -98,30 +102,32 @@ SettingsDialog::~SettingsDialog() void SettingsDialog::accept() { QStringList filters; - if (ui.mp3CheckBox->isChecked()) + if (m_ui.mp3CheckBox->isChecked()) filters << "*.mp3"; - if (ui.wmaCheckBox->isChecked()) + if (m_ui.wmaCheckBox->isChecked()) filters << "*.wma"; - if (ui.apeCheckBox->isChecked()) + if (m_ui.apeCheckBox->isChecked()) filters << "*.ape"; - if (ui.ttaCheckBox->isChecked()) + if (m_ui.ttaCheckBox->isChecked()) filters << "*.tta"; - if (ui.aacCheckBox->isChecked()) + if (m_ui.aacCheckBox->isChecked()) filters << "*.aac"; - if (ui.mp4CheckBox->isChecked()) + if (m_ui.mp4CheckBox->isChecked()) filters << "*.m4a"; - if (ui.raCheckBox->isChecked()) + if (m_ui.raCheckBox->isChecked()) filters << "*.ra"; - if (ui.shCheckBox->isChecked()) + if (m_ui.shCheckBox->isChecked()) filters << "*.shn"; - if (ui.ac3CheckBox->isChecked()) + if (m_ui.ac3CheckBox->isChecked()) filters << "*.ac3"; - if (ui.dtsCheckBox->isChecked()) + if (m_ui.dtsCheckBox->isChecked()) filters << "*.dts"; - if (ui.mkaCheckBox->isChecked()) + if (m_ui.mkaCheckBox->isChecked()) filters << "*.mka"; - if (ui.vqfCheckBox->isChecked()) + if (m_ui.vqfCheckBox->isChecked()) filters << "*.vqf"; + if (m_ui.takCheckBox->isChecked()) + filters << "*.tak"; QSettings settings(Qmmp::configFile(), QSettings::IniFormat); settings.setValue("FFMPEG/filters", filters); QDialog::accept(); diff --git a/src/plugins/Input/ffmpeg/settingsdialog.h b/src/plugins/Input/ffmpeg/settingsdialog.h index fb3d8a00c..be1bbf22b 100644 --- a/src/plugins/Input/ffmpeg/settingsdialog.h +++ b/src/plugins/Input/ffmpeg/settingsdialog.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008 by Ilya Kotov * + * Copyright (C) 2008-2018 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -39,7 +39,7 @@ public slots: virtual void accept(); private: - Ui::SettingsDialog ui; + Ui::SettingsDialog m_ui; }; diff --git a/src/plugins/Input/ffmpeg/settingsdialog.ui b/src/plugins/Input/ffmpeg/settingsdialog.ui index cdeac3529..ba601556a 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>308</width> - <height>328</height> + <width>337</width> + <height>447</height> </rect> </property> <property name="windowTitle"> @@ -139,6 +139,13 @@ </property> </widget> </item> + <item> + <widget class="QCheckBox" name="takCheckBox"> + <property name="text"> + <string>Tom's lossless Audio Kompressor (TAK)</string> + </property> + </widget> + </item> </layout> </widget> </item> |
