Add "cover" and "semilarge" thumb sizes #245
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Development:
Both 600x600, but
cover
is square-cropping andsemilarge
is not.cover
is intended for use ingenerateCoverArtwork
of course (i.e. the main art image on album, track, flash pages and such).semilarge
is a corresponding smaller "right-fit" available for the client-side large image preview.The motivator for this change is that the 400x400
medium
thumbs currently used for cover artworks result in mildly blurry upscaling on high-DPI displays in the wide layout, as well as on about 450–600px wide displays of even normal CSS-matches-display-pixel DPI in the thin layout.A 400x400 image doesn't exactly look awful rendered at about 600x600, though, or even when upscaled to about 800x800 on high-DPI displays in the thin layout. From some unscientific sampling, 600x600 at quality 94 results in about 40% larger files than 400x400 at quality 95. That's a moderately large tradeoff for mobile and slower network access, and you can always opt in to getting the best-fit size on particular covers just by clicking and showing the client-side image preview.
I've left this as a draft, besides the uncertainty, because I want to investigate if it's possible to restrict loading higher resolution images to high-DPI devices purely in HTML (no JavaScript nonsense).