-
Notifications
You must be signed in to change notification settings - Fork 106
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Is HiRes and HiRes_LOSSLESS the same? #255
Comments
FYI Hires and hires_lossless is not the same quality. Usually hires refers to mqa (non lossless) while hires_lossless refers to lossless FLAC. IIRC, The track metadata does not usually contain enough information to determine what kind of hires mode is available. Only ATMOS/LOSSLESS/HIRES_LOSSLESS will be listed here. It would probably be better if the property was named differently, mainly to avoid confusion. At least we should make sure both is_hires and is_hires_lossless exists as a property to avoid confusion. Perhaps it is enough to set is_hires true, if is_hires_lossless is not in the list, as I believe hires will be used as a fallback in this case. We could consider changing the naming. Some of the names carry over from when the functionally was added from the tidal2 plugin and were never changed. I'd stick to hires, however, as this is the naming used by tidal. |
But there are also a lot of songs available, which only have HIGH_LOSSLESS as max. quality instead of HI_RES. I don't know... This somehow feels strange / not as a perfect solution. If I understand you correctly, you are not 100% sure, what the metadata tags really mean, are you? This is how I currently determine the available quality: https://github.com/exislow/tidal-dl-ng/blob/039ecf97e55ea655c18aacf696c38681920c4744/tidal_dl_ng/helper/tidal.py#L157-L169 I don't know, if it's the best solution.
Are you sure, that TIDAL uses python-tidal/tidalapi/media.py Lines 56 to 61 in 6fb5289
|
Yes, if HI_RES is not available, HIGH_LOSSLESS will be used instead.
I forgot that MQA is also added to this list. Anyways, after looking closer at the code, it looks like I already added all the necessary properties so we don't need to add anything new. However, the naming might be a little confusing. Currently we have Next problem is that the media metadata shows the available quality for a given track (album) and not the one currently selected by the user.
Looks like I remembered incorrectly, as tidal indeed uses HI_RES as the naming scheme. We could consider changing these property helper functions to is_hi_res .. so it corresponds to the naming used by tidal, and to be more pythonic. Of course this is another breaking change. This piece of code can be useful in determining the best possible quality for a track, eg. in case the user does not want to use MQA (lossy) over HIGH_LOSSLESS. I have a related issue here: tehkillerbee/mopidy-tidal#161 |
As far as I remember TIDAL offer HIRES and HIRES_LOSSLESS as audio options. Has something changed? Are they considered to be the same nowadays? I guess not:
python-tidal/tidalapi/media.py
Lines 56 to 61 in 6fb5289
Why I am asking?
python-tidal/tidalapi/media.py
Lines 418 to 424 in 6fb5289
I got confused by this. There is now a property, which is called
is_HiRes
but it checks forhires_lossless
.Also wouldn't it be more pythonic to call the property
is_hi_res / is_hires
? Same applies foris_dolby_atmos
etc.The text was updated successfully, but these errors were encountered: