mpc-qt icon indicating copy to clipboard operation
mpc-qt copied to clipboard

Feature request: playlist thumbnails

Open ezvision opened this issue 1 year ago • 4 comments

Hey, just wanted to request a potential option to enable thumbnails for your playlist. I think it looks better visually than a compact list of file names.

cheers.

ezvision avatar Jan 05 '24 08:01 ezvision

You're right. I wonder if there is another media player that does this.

cmdrkotori avatar Jan 05 '24 09:01 cmdrkotori

You're right. I wonder if there is another media player that does this.

Haruna media player does it: https://invent.kde.org/multimedia/haruna

This one does as well: https://github.com/kanishka-linux/kawaii-player

They're both mpv front-ends too (qt5)

ezvision avatar Jan 05 '24 11:01 ezvision

Ok I'm going to put this on the backburner for a while. This is pretty easy, but it's going to be tedious.

If anyone wants to work on this, checkout the playlist-thumbnails branch, where I've worked on refactoring the thumbnailing module. (Although it might be the wiser course to spin off the code to a separate module and trim the fat, instead of making the thumbnailer code have two different modes.)

What I suspect is left to be done:

  • Early fork() to create a thumbnailer process with its own gui thread.
  • Second application flow module
  • IPC
  • Mechanism for scheduling thumbnail generation + fetching
  • Mechanism for loading thumbnails into the playlist widget
  • Add thumbnail file path to the playlist item + serialization

Which is all pretty easy. Essentially this is writing two programs in the same code base. BUT if I'm allowed a little whinge, an invasive change like this should have been done nine years ago at design time instead of hacked into the program now, but that was not possible because I wasn't aware of this feature back then.

Besides this, there is one thing which have been bugging me. I am not satisfied with the gradual spaghettification of the code-base with many hacked-on features that weren't intended at design time. There is a need to sit down and refactor the code. Adding a major feature right now would make this problem worse.

That aside, I am also halfway through a house renovation. So I doubt I'll be in a good place to make big changes for several months.

Cheers.

cmdrkotori avatar Mar 26 '24 04:03 cmdrkotori

An alternative to the above approach is: investigate if it is possible to use a vo=null mpv object and extract a frame with the screenshot command.

cmdrkotori avatar Apr 25 '24 13:04 cmdrkotori