hrkfdn / ncspot

Cross-platform ncurses Spotify client written in Rust, inspired by ncmpc and the likes.
BSD 2-Clause "Simplified" License
4.93k stars 204 forks source link

Failed to run Ueberzug: Broken pipe (os error 32) #860

Open joshuajeschek opened 2 years ago

joshuajeschek commented 2 years ago

Describe the bug Instead of seeing a cover, ueberzug seems to fail. I compiled using cargo build --release --features cover And debug using RUST_BACKTRACE=full ncspot -d debug.log 2> stderr.log

To Reproduce Steps to reproduce the behavior:

  1. play a song
  2. go to cover view

Expected behavior I'm not entirely sure, as I have never seen the cover view working, but I think I should see a cover! ;)

Screenshots image

System (please complete the following information):

Backtrace/Debug log

[2022-07-12][21:56:20] [ncspot::ui::layout] [DEBUG] layout: new screen selected: Some("cover")
[2022-07-12][21:56:20] [ncspot::ui::cover] [ERROR] Failed to run Ueberzug: Broken pipe (os error 32)

Additional context lmk if you need anything :)

Bettehem commented 2 years ago

Iirc ueberzug doesn't work in Alacritty yet. Ueberzug works on Kitty though

joshuajeschek commented 2 years ago

Firstly, I tried the example from the ueberzug repository in Alacritty yesterday, and it worked. (However today there was a system update and now the demo is stuck on loading :/) However, on Kitty its the same. The same error also occurs there.

Bettehem commented 2 years ago

I see. That would suggest that the problem is with something that you updated in your system update and not with ncspot

joshuajeschek commented 2 years ago

I thought the same, tinkered a bit more and tried out

this example from the ueberzug repository (expand)
import ueberzug.lib.v0 as ueberzug
import time

if __name__ == '__main__':
    with ueberzug.Canvas() as c:
        paths = ['/some/path/some_image.png', '/some/path/another_image.png']
        demo = c.create_placement('demo', x=0, y=0, scaler=ueberzug.ScalerOption.COVER.value)
        demo.path = paths[0]
        demo.visibility = ueberzug.Visibility.VISIBLE

        for i in range(30):
            with c.lazy_drawing:
                demo.x = i * 3
                demo.y = i * 3
                demo.path = paths[i % 2]
            time.sleep(1/30)

        time.sleep(2)

and that worked...

I would be interested in finding out why I'm getting this error, so I can try to fix it

Suyashtnt commented 2 years ago

Alacritty seems to be working on my machine image

joshuajeschek commented 2 years ago

@Suyashtnt could you share a bit more about you setup? most notably, on which commit did you compile?

Suyashtnt commented 2 years ago

@Suyashtnt could you share a bit more about you setup? most notably, on which commit did you compile?

commit is 0.10.0. Compiled with ALSA, PulseAudio, Mpris, Cover, share_clipboard, and pancurses

raffaem commented 1 year ago

I also can't see a cover no matter what. I have kitty

deadbody13 commented 11 months ago

Also having same issue, was able to replicate the broken pipe error by leaving ueberzugpp unconfigured but after setting output to either sixels or kitty the error went away but the cover art still won't appear.