aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2018-10-15 20:41:44 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2018-10-15 20:41:44 +0000
commitebbe482778dc5296be8f64b436d89326a2db1e04 (patch)
tree89631475c44e4fac8da8a61b9c252f69a2b5e955 /src/plugins/Input
parentb8869117077e2d9cc6ba99fb7cacf5c75323bcba (diff)
downloadqmmp-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')
-rw-r--r--src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp7
-rw-r--r--src/plugins/Input/ffmpeg/settingsdialog.cpp128
-rw-r--r--src/plugins/Input/ffmpeg/settingsdialog.h4
-rw-r--r--src/plugins/Input/ffmpeg/settingsdialog.ui11
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>