spotify-tui icon indicating copy to clipboard operation
spotify-tui copied to clipboard

Cover Artwork

Open niklaskorz opened this issue 4 years ago • 10 comments

In certain terminal emulators, for example Kitty, graphics can be displayed. It might be worth discovering this as an option to display the cover art in the spotify-tui interface. I'd be willing to implement this myself as a pull request if there's interest.

niklaskorz avatar Apr 27 '20 09:04 niklaskorz

It would be awesome to get the album art rendered in the terminal. I've actually looked into this before but couldn't figure it out. There is an open question in tui for this exact issue https://github.com/fdehau/tui-rs/issues/143

But please do have a crack at it!

Rigellute avatar Apr 28 '20 10:04 Rigellute

The ranger source code is a pretty good hint and shows that there's no single "correct" solution to this: https://github.com/ranger/ranger/blob/master/ranger/ext/img_display.py

I think it makes sense to wrap the most commonly used solutions in a general tui-rs widget and let the user opt-in to any of the provided solutions.

As an experiment, I have taken ranger's implementation as an inspiration and implemented a basic ueberzug image widget in tui-rs:

image

niklaskorz avatar Apr 28 '20 20:04 niklaskorz

To be clear, except for Kitty and iTerm2, this would rely on calling external programs that draw on top of the actual terminal. From what I have seen, only Kitty and iTerm2 support real drawing of graphics directly in the terminal.

niklaskorz avatar Apr 29 '20 09:04 niklaskorz

Screenshot_20200520_221911

Covers could be generated as ANSi and rendered in any terminal emulator.

ghost avatar May 20 '20 14:05 ghost

Covers could be generated as ANSi and rendered in any terminal emulator.

Would this solution only work for displaying artwork in full screen or over large portions of the screen? It wouldn't be suitable for displaying the artwork of the current song in the bottom corner of the spotify-tui?

jerbaroo avatar Aug 23 '20 15:08 jerbaroo

Would this solution only work for displaying artwork in full screen or over large portions of the screen?

I'm not sure of the design details just floating the concept that all terminal emulators can have covers if ANSi is used.

ghost avatar Aug 24 '20 07:08 ghost

Any news about this ?

eoli3n avatar Dec 02 '20 08:12 eoli3n

This thread inspired me to create viuer but for now it only has support for Kitty and questionable cross-platform capabilities. If support for iTerm is added I believe it would be a good candidate for the work here.

Edit: iTerm support is finished.

atanunq avatar Dec 02 '20 09:12 atanunq

anything new? i've been looking forward to switching to spotify-tui but this has been holding me back.

apprehensions avatar Jul 08 '21 20:07 apprehensions

I've made a fork which adds support for this using the kitty graphics protocol. The code is very hacky, but it works without any major bugs.

https://github.com/Icelk/spotify-tui

Icelk avatar Nov 28 '22 17:11 Icelk