ray-kast/empress

[Feature request] "Follow" mode for the now-playing subcommand

mradermaxlol opened this issue · 4 comments

This would allow integrating empress with e.g. WM bars/panels without extra quirks, similar to playerctl metadata -F.

I think this should be semi-easy to handle. The empress daemon already listens for metadata changes to maintain its internal player priority list and runs a hook to update the player state it keeps internally tracked, so adding a D-Bus signal shouldn't be too complex. The big question is how best to propagate the player metadata sent by the daemon for a normal now-playing call, as this constitutes three or four D-Bus calls so having each listener perform a metadata query may not be desirable.

Current steps for this issue:

  • Add a D-Bus signal to the Empress interface for metadata updates
  • Investigate ways to mitigate unnecessary metadata calls from the daemon to MPRIS players
  • Add support for -F for raw JSON-lines output
  • Add support for -Ff ... for plaintext output with \n or \0 as a delimiter

Due to tech-debt reasons I'm gonna try to sneak #7 in first.

@mradermaxlol just a heads-up, I'm still working on this but some life stuff has gotten in the way so it's taking longer than I expected...

Completed by #10.