Since TIDAL has remove MQA (HI_RES), all traces of MQA have been removed here.

This commit is contained in:
Robert Honz
2024-11-06 15:01:18 +01:00
parent a33581dbbb
commit f41d65d7d3
10 changed files with 24 additions and 67 deletions
-1
View File
@@ -171,7 +171,6 @@ class DialogPreferences(QtWidgets.QDialog):
"download_delay",
"video_convert_mp4",
"extract_flac",
"downgrade_on_hi_res",
]
def gui_populate(self):
-4
View File
@@ -211,10 +211,6 @@ class Download:
file_extension: str
if isinstance(media, Track):
# If hi_res is forbidden in settings and highest track quality is hi_res, downgrade to high_lossless.
if self.settings.data.downgrade_on_hi_res and media.get_stream().audio_quality == Quality.hi_res:
quality_audio = Quality.high_lossless
# If a quality is explicitly set, change it.
if quality_audio:
quality_audio_old: Quality = self.adjust_quality_audio(quality_audio)
-1
View File
@@ -618,7 +618,6 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
if (
self.settings.data.quality_audio == quality_highest
or self.settings.data.quality_audio == Quality.hi_res_lossless
or (self.settings.data.quality_audio == Quality.hi_res and quality_highest == Quality.hi_res)
):
quality = quality_highest
else:
+2 -1
View File
@@ -37,7 +37,8 @@ def decrypt_security_token(security_token: str) -> (str, str):
def decrypt_file(path_file_encrypted: str, path_file_destination: str, key: str, nonce: str) -> None:
"""
Decrypts an encrypted MQA file given the file, key and nonce
Decrypts an encrypted MQA file given the file, key and nonce.
TODO: Is it really only necessary for MQA of for all other formats, too?
"""
# Initialize counter and file decryptor
-2
View File
@@ -188,8 +188,6 @@ def quality_audio_highest(media: Track | Album) -> Quality:
if MediaMetadataTags.hires_lossless in media.media_metadata_tags:
quality = Quality.hi_res_lossless
elif MediaMetadataTags.mqa in media.media_metadata_tags:
quality = Quality.hi_res
elif MediaMetadataTags.lossless in media.media_metadata_tags:
quality = Quality.high_lossless
else:
+1 -5
View File
@@ -36,7 +36,6 @@ class Settings:
path_binary_ffmpeg: str = ""
metadata_cover_dimension: CoverDimensions = CoverDimensions.Px320
extract_flac: bool = True
downgrade_on_hi_res: bool = False
@dataclass_json
@@ -59,7 +58,7 @@ class HelpSettings:
quality_audio: str = (
'Desired audio download quality: "LOW" (96kbps), "HIGH" (320kbps), '
'"LOSSLESS" (16 Bit, 44,1 kHz), '
'"HI_RES" (MQA 24 Bit, 96 kHz), "HI_RES_LOSSLESS" (up to 24 Bit, 192 kHz)'
'"HI_RES_LOSSLESS" (up to 24 Bit, 192 kHz)'
)
quality_video: str = 'Desired video download quality: "360", "480", "720", "1080"'
# TODO: Describe possible variables.
@@ -80,9 +79,6 @@ class HelpSettings:
"The dimensions of the cover image embedded into the track. Possible values: 320x320, 640x640x 1280x1280."
)
extract_flac: str = "Extract FLAC audio tracks from MP4 containers and save them as `*.flac` (uses FFmpeg)."
downgrade_on_hi_res: bool = (
"Never download HI_RES (MQA) quality. Downgrade to the next best available quality instead."
)
@dataclass_json
+5 -19
View File
@@ -1,7 +1,7 @@
################################################################################
## Form generated from reading UI file 'dialog_settings.ui'
##
## Created by: Qt User Interface Compiler version 6.7.0
## Created by: Qt User Interface Compiler version 6.8.0
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################
@@ -26,7 +26,7 @@ class Ui_DialogSettings:
def setupUi(self, DialogSettings):
if not DialogSettings.objectName():
DialogSettings.setObjectName("DialogSettings")
DialogSettings.resize(640, 682)
DialogSettings.resize(640, 705)
sizePolicy = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
sizePolicy.setHorizontalStretch(100)
sizePolicy.setVerticalStretch(100)
@@ -131,19 +131,6 @@ class Ui_DialogSettings:
self.lv_flags.addLayout(self.lh_flag_3)
self.horizontalLayout = QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.lv_flag_downgrade_on_hi_res = QVBoxLayout()
self.lv_flag_downgrade_on_hi_res.setObjectName("lv_flag_downgrade_on_hi_res")
self.cb_downgrade_on_hi_res = QCheckBox(self.gb_flags)
self.cb_downgrade_on_hi_res.setObjectName("cb_downgrade_on_hi_res")
self.lv_flag_downgrade_on_hi_res.addWidget(self.cb_downgrade_on_hi_res)
self.horizontalLayout.addLayout(self.lv_flag_downgrade_on_hi_res)
self.lv_flags.addLayout(self.horizontalLayout)
self.lv_main.addWidget(self.gb_flags)
self.gb_choices = QGroupBox(DialogSettings)
@@ -235,7 +222,7 @@ class Ui_DialogSettings:
self.lh_choices_cover_dimension = QHBoxLayout()
self.lh_choices_cover_dimension.setObjectName("lh_choices_cover_dimension")
self.lh_choices_cover_dimension.setSizeConstraint(QLayout.SetDefaultConstraint)
self.lh_choices_cover_dimension.setSizeConstraint(QLayout.SizeConstraint.SetDefaultConstraint)
self.l_icon_metadata_cover_dimension = QLabel(self.gb_choices)
self.l_icon_metadata_cover_dimension.setObjectName("l_icon_metadata_cover_dimension")
sizePolicy4.setHeightForWidth(self.l_icon_metadata_cover_dimension.sizePolicy().hasHeightForWidth())
@@ -494,8 +481,8 @@ class Ui_DialogSettings:
self.bb_dialog = QDialogButtonBox(DialogSettings)
self.bb_dialog.setObjectName("bb_dialog")
self.bb_dialog.setOrientation(Qt.Horizontal)
self.bb_dialog.setStandardButtons(QDialogButtonBox.Cancel | QDialogButtonBox.Ok)
self.bb_dialog.setOrientation(Qt.Orientation.Horizontal)
self.bb_dialog.setStandardButtons(QDialogButtonBox.StandardButton.Cancel | QDialogButtonBox.StandardButton.Ok)
self.lv_main.addWidget(self.bb_dialog)
@@ -521,7 +508,6 @@ class Ui_DialogSettings:
self.cb_lyrics_file.setText(QCoreApplication.translate("DialogSettings", "CheckBox", None))
self.cb_download_delay.setText(QCoreApplication.translate("DialogSettings", "CheckBox", None))
self.cb_extract_flac.setText(QCoreApplication.translate("DialogSettings", "CheckBox", None))
self.cb_downgrade_on_hi_res.setText(QCoreApplication.translate("DialogSettings", "CheckBox", None))
self.gb_choices.setTitle(QCoreApplication.translate("DialogSettings", "Choices", None))
self.l_icon_skip_existing.setText(QCoreApplication.translate("DialogSettings", "TextLabel", None))
self.l_skip_existing.setText(QCoreApplication.translate("DialogSettings", "TextLabel", None))
+4 -19
View File
@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>640</width>
<height>682</height>
<height>705</height>
</rect>
</property>
<property name="sizePolicy">
@@ -184,21 +184,6 @@
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<layout class="QVBoxLayout" name="lv_flag_downgrade_on_hi_res">
<item>
<widget class="QCheckBox" name="cb_downgrade_on_hi_res">
<property name="text">
<string>CheckBox</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
</item>
@@ -316,7 +301,7 @@
<item>
<layout class="QHBoxLayout" name="lh_choices_cover_dimension" stretch="0,0,50">
<property name="sizeConstraint">
<enum>QLayout::SetDefaultConstraint</enum>
<enum>QLayout::SizeConstraint::SetDefaultConstraint</enum>
</property>
<item>
<widget class="QLabel" name="l_icon_metadata_cover_dimension">
@@ -679,10 +664,10 @@
<item>
<widget class="QDialogButtonBox" name="bb_dialog">
<property name="orientation">
<enum>Qt::Horizontal</enum>
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
<set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok</set>
</property>
</widget>
</item>