Commit Graph

30 Commits

Author SHA1 Message Date
d38e5c9f3c
Truncate file when directly sharing
Some checks failed
continuous-integration/drone/push Build is failing
Fixes bug where recipient instance would have a bit of the previous
track data on the end of the output if the previous track data was
longer, which effectively froze the output on waybar as it was no longer
valid JSON.
2021-10-29 15:07:56 +01:00
8340ef1f20
always return the expected number of bytes written
All checks were successful
continuous-integration/drone/push Build is passing
emptyEveryWrite was returning the wrong number, so it ignores the real
value and just returns the expected value (len(bytes in)). For #4 again.
2021-05-24 14:51:21 +01:00
fe851278f4
change order of writers in io.Multiwriter
All checks were successful
continuous-integration/drone/push Build is passing
io.MultiWriter (i think) thinks dataWrite.Write fails, and so doesn't
continue writing to all other outputs. This just makes it the last one,
should fix #4.
2021-05-21 16:03:33 +01:00
49b3212c48
support multiple instances with different layouts
All checks were successful
continuous-integration/drone/push Build is passing
if specified layout for nth instance is different than 1st, the player data is
    shared instead of the waybar output.
2021-05-17 16:10:14 +01:00
ea4f47a1b1
only share output when args are identical; use fixed length socket
commands

fixed length commands were originally a guess for an issue I was having,
but it's cleaner this way anyway.
2021-05-17 13:44:24 +01:00
51c7a983a0
add PLAYER to --order, remove binary from repo
All checks were successful
continuous-integration/drone/push Build is passing
also added more prominent download links to the readme.
2021-05-16 23:28:23 +01:00
3aec82c40c
fix upload.py args for new version
All checks were successful
continuous-integration/drone/push Build is passing
2021-04-24 18:03:03 +01:00
a2164b0173
build JSON string instead of json.Marshal-ing
Some checks failed
continuous-integration/drone/push Build is failing
not that this was a problem, but the output is simple enough to
just create it by hand.
2021-04-24 16:37:44 +01:00
c235dd60dd
overwrite previous content when sharing output
this way /tmp/waybar-mpris.out won't get filled up.
2021-04-24 16:02:39 +01:00
937769e2f7
use external mpris2client lib
now at github.com/hrfee/mpris2client.
2021-01-08 00:54:34 +00:00
bcd2a83dd9
move mpris2 component to separate module
I'll likely put it in a different repo as i'm thinking of writing a last.fm scrobbler and it'd be reused there.
2021-01-07 16:10:20 +00:00
af0af02059
add some comments and change identifier names 2020-12-15 20:44:03 +00:00
9b02fc2851
print clone message to stderr
any non-json output at all seems to break waybar now, so this avoids it.
2020-11-26 19:11:38 +00:00
a84ae6bd5b
fix help output 2020-11-16 21:59:31 +00:00
78ce37db9f
Run multiple instances by attaching to original
Fixes #1. When another instance is detected, a command is sent over the
socket for the original to write to stdout and to a temporary file, which is then
tailed by the new instance. Can be overridden with --replace.
2020-09-28 23:48:51 +01:00
b97a950582
add optional position interpolation, escape ampersands
added --interpolate which will increment the track position if there
hasnt been a change after a second. Kinda buggy, so disabled by default.
Ampersands are escaped in the tooltip.
2020-09-14 16:14:30 +01:00
018e3ce34e
fix crash when tracklength not available 2020-09-11 21:24:11 +01:00
8343e713fe
remove socket on exit; fix --position crash 2020-09-06 13:13:36 +01:00
6ed1eb428f
log to /tmp/waybar-mpris.log 2020-08-31 20:37:23 +01:00
f4090c1f07
ask before removing existing socket
automatically removes the socket after 5 seconds of no input so that its
functions headlessly.
2020-08-31 20:14:14 +01:00
3918d2f30e
ignore player-next/prev if only one player avavilable
stops the tooltip from flickering.
2020-08-28 21:57:54 +01:00
315b3df656
add list command for debug
responds with the current list of players and some info, to be used for debugging
purposes
2020-08-27 20:26:01 +01:00
8177e5dec9
optionally display track position
with the --position flag, the position is grabbed every second and
outputted. Nothing else is refreshed.
2020-08-26 22:10:36 +01:00
25f40dc9e0
ignore playerctld
playerctld displays and controls other players, so including it is
pointless.
2020-08-25 14:40:56 +01:00
623adf487e
display browser name in tooltip
reads /proc/<pid>/cmdline directly instead of using a library.
2020-08-23 16:25:27 +01:00
74015e43a3
remote control via unix sockets
waybar-mpris --send will send commands to a currently running
waybar-mpris instance. Players can be switched between and controlled
individually. Also added gifs, more stuff to README.
2020-08-22 19:01:51 +01:00
54dcac02e6
Add flags, executable and improve README.md 2020-08-22 15:40:24 +01:00
5020e1c929
fix halt when player is removed
rewritten without goroutines or checking if processes exist and it seems
to work much better now.
2020-08-22 14:39:23 +01:00
3cf3f910ca
add players as detected, switch to currently playing player on state
change.
2020-08-21 15:44:59 +01:00
461d87b8c9
first 2020-08-21 14:54:32 +01:00