jacquesh / foo_openlyrics

An open-source lyric display panel for foobar2000
MIT License
449 stars 26 forks source link

[Fixed]WebP AlbumArt doesn't show as background #341

Closed Rexadev closed 4 months ago

Rexadev commented 9 months ago

Versions

Steps to reproduce

Expected behavior

Debug logs

Opening track for playback: "...\Busta Rhymes\Busta Rhymes - Calm Down (Audio) ft. Eminem.mp3"
Opening track for playback: "...\NF\CLOUDS.mp3"
Opening track for playback: "...\Busta Rhymes\Busta Rhymes - Calm Down (Audio) ft. Eminem.mp3"
WARN-OpenLyrics: Failed to load album art image

Additional information

image image image image

jacquesh commented 9 months ago

There is almost no info in this issue (no debug logs of it failing, no example images, nothing to demonstrate that fb2k itself supports webp album art, etc).

If you're not even going to put in a minimal amount of effort to demonstrate the issue you want fixed, then I'm not going to feel particularly strongly compelled to put in the effort to implement the change you're requesting.

Rexadev commented 9 months ago

@jacquesh please check the main thread i have added all info you asked for

marc2k3 commented 9 months ago

WebP support in 3rd party components has nothing to do with fb2k itself. The changelog explicitly says "Default UI, properties dialog".

It's always been possible for developers to display WebP but it's up to them to decode the album_art_data_ptr they retrieve from various SDK methods.

As an example, I do it with libwebp here...

https://github.com/jscript-panel/Helpers/blob/6e9467f7bd0d6a97f36916ddc66d6c34d53c3fa1/ImageHelpers.cpp#L59-L77

It's also possible using the windows imaging component.

https://learn.microsoft.com/en-us/windows/win32/wic/-wic-about-windows-imaging-codec

WebP is supported natively on windows 10 and later.

An example of that is here...

https://github.com/jscript-panel/Helpers/blob/6e9467f7bd0d6a97f36916ddc66d6c34d53c3fa1/ImageHelpers.cpp#L46-L57

In that 2nd example, I have to go from album_art_ptr -> IStream first.

jacquesh commented 4 months ago

In the next release we use the windows imaging decoder, which supports WebP but you will need to have the WebP Image Extensions installed from the Microsoft store.

Thanks for the pointers @marc2k3 :)

marc2k3 commented 4 months ago

For those not on windows 10/11 or don't use the store, this can be installed to enable WebP via WIC as well...

https://storage.googleapis.com/downloads.webmproject.org/releases/webp/WebpCodecSetup.exe