moved spatial formats out of hifi quality since there's a goddamn option for it already

god i shouldn't be doing this at 2am
This commit is contained in:
uh wot
2023-07-12 02:14:22 +02:00
parent a968a1a33a
commit d19583413a

View File

@@ -424,21 +424,13 @@ class ModuleInterface:
# add the region locked album to the cache in order to properly use it later (force_album_format)
self.album_cache = {album_id: album_data}
# MOBILE_DEFAULT is used whenever possible to avoid MPEG-DASH, which slows downloading
session = SessionType.MOBILE_DEFAULT
hires_flac = False
media_tags = track_data['mediaMetadata']['tags']
if quality_tier is QualityEnum.HIFI:
format = None
if 'HIRES_LOSSLESS' in media_tags:
if 'HIRES_LOSSLESS' in media_tags and quality_tier is QualityEnum.HIFI:
format = 'flac_hires'
if 'SONY_360RA' in media_tags and not format and not self.settings['force_non_spacial']:
if 'SONY_360RA' in media_tags and not format and not self.settings['force_non_spatial']:
format = '360ra'
if 'DOLBY_ATMOS' in media_tags and not format and not self.settings['force_non_spacial']:
if 'DOLBY_ATMOS' in media_tags and not format and not self.settings['force_non_spatial']:
if self.settings['prefer_ac4']:
format = 'ac4'
else:
@@ -449,12 +441,11 @@ class ModuleInterface:
'360ra': SessionType.MOBILE_ATMOS,
'ac4': SessionType.MOBILE_ATMOS,
'ac3': SessionType.TV,
# MOBILE_DEFAULT is used whenever possible to avoid MPEG-DASH, which slows downloading
None: SessionType.MOBILE_DEFAULT,
}[format]
if format == 'flac_hires':
hires_flac = True
elif 'SONY_360RA' in media_tags:
if not format and 'SONY_360RA' in media_tags:
# if 360RA is available, we don't use the mobile session here because that will get 360RA
# there are no tracks with both 360RA and atmos afaik,
# so this shouldn't be an issue for now
@@ -463,13 +454,13 @@ class ModuleInterface:
if session.name in self.available_sessions:
self.session.default = session
else:
hires_flac = False
format = None
# define all default values in case the stream_data is None (region locked)
audio_track, mqa_file, track_codec, bitrate, download_args, error = None, None, CodecEnum.FLAC, None, None, None
try:
stream_data = self.session.get_stream_url(track_id, self.quality_parse[quality_tier] if not hires_flac else 'HI_RES_LOSSLESS')
stream_data = self.session.get_stream_url(track_id, self.quality_parse[quality_tier] if format != 'flac_hires' else 'HI_RES_LOSSLESS')
except TidalRequestError as e:
error = e
# definitely region locked