Joseph Benden
21fdcf41c3
mpd: revamped to event-driven, single-threaded
...
Fix MPD connection issues by converting/rewriting module into a
state-machine driven system. It is fully single-threaded and uses
events for transitioning between states. It supports all features
and functionality of the previous MPD module.
Signed-off-by: Joseph Benden <joe@benden.us>
2020-10-08 16:43:22 -07:00
koffeinfriedhof
c651670222
Added song position and queue length.
2020-09-13 18:49:47 +02:00
Alex
a446cd692d
Fix MPD, add missing while loop
2020-08-06 21:57:02 +02:00
Alex
759602af64
Update mpd.cpp
2020-07-18 10:23:04 +02:00
Alex
6e7f22ac3a
fix: cancel thread and fix window close
2020-05-27 09:10:38 +02:00
Alex
9a123052a0
refactor: check conn
2020-05-24 18:47:50 +02:00
Alex
45deb2472c
fix: use strcmp
2020-05-19 12:14:59 +02:00
Alex
8fbaf06cbe
refactor(mpd): prefer debug over warn
2020-05-16 09:29:37 +02:00
Alex
08dce576bd
refactor(mpd): prefer debug over info
2020-05-16 09:28:30 +02:00
Alex
4a7dd400fe
Merge branch 'master' into on-update
2020-04-12 18:32:19 +02:00
Alex
b40cdcb5bd
refactor: call parent update
2020-04-12 18:30:21 +02:00
Cole Helbling
75c6e2e7d5
mpd: add paused format string
2020-01-07 09:15:54 -08:00
Jordi Pakey-Rodriguez
0f0765e517
feat(modules): call user on-update if configured
2019-12-05 14:42:36 -08:00
Jonas Spanoghe
e6599d8ed5
modules/mpd: take lock in waitForEvent to prevent SIGABORT
...
+ replaced deprecated MPD_IDLE_PLAYLIST with MPD_IDLE_QUEUE
+ add mutex for periodic_updater
2019-09-19 21:43:12 +02:00
Alex
d24d85bebf
refactor: move label name and id to label contructor
2019-05-22 12:06:24 +02:00
Lucas Lazare
e8dd1e2d2c
Adding missing ; and _
...
I'll admit I don't have libmpd on my computer
2019-05-18 20:10:42 -04:00
Lucas Lazare
51be97f9aa
Adding spdlog
2019-05-18 19:44:45 -04:00
Alex
0c3c548bc0
fix(Window): avoid concurrency
2019-05-13 14:35:45 +02:00
Alex
cccf60c30e
fix(Workspaces): fix concurrence and move json parser to ipc client
2019-04-23 11:42:08 +02:00
Minijackson
b50650f63f
fix(mpd): regularly timeout the event listener to prevent timeout
...
The MPD server has a connection_timeout that defaults to 60. If no data
is transferred in this timespan, the connection is closed. If the
connection is closed while the event listener is listening for events,
it will block forever. By timing out the event listening and
re-connecting regularly, we prevent this issue. An option "timeout" has
been added for users that have a lower server connection_timeout than
default. Fixes #277
2019-04-21 10:58:40 +02:00
Cole Helbling
12e1233d38
Fix compile-time warning of catch by value
2019-04-20 09:16:11 -07:00
Cole Helbling
160837b900
Ensure no NULL tags are set
...
Because `mpd_song_get_tag` from libmpdclient can return NULL, verify the
value of tag is valid. Otherwise, set a default string of "N/A". Also
adds configuration to specify what this default string should be.
2019-04-20 09:12:30 -07:00
Minijackson
66b0420391
fix(mpd): Escape MPD values in the label
2019-04-19 11:11:44 +02:00
Minijackson
3656035c89
fix(mpd): slightly better and safer error handling
2019-04-18 15:57:57 +02:00
Minijackson
0ce8821aec
feat(mpd): Add playing / paused classes
2019-04-18 15:57:57 +02:00
Minijackson
ab43d34a1e
refactor(mpd): Add module name to log messages
2019-04-18 15:57:57 +02:00
Minijackson
22eccc2ac2
feat(mpd): reset player state when connection drops
2019-04-18 15:57:57 +02:00
Minijackson
cd92b475ad
chore: Add clang-format configuration and format MPD module
2019-04-18 15:57:57 +02:00
Minijackson
235997fa73
feat(mpd): Add support for elapsed and total time
2019-04-18 15:55:46 +02:00
Minijackson
80a12d0238
feat(mpd): play/pause on click & stop on right-click
2019-04-18 15:55:46 +02:00
Minijackson
07dab2baec
feat(mpd): Add support for options (random, repeat, etc.)
2019-04-18 15:55:45 +02:00
Minijackson
cbfcec4867
feat(mpd): Add support for play/pause icons
2019-04-18 15:55:45 +02:00
Minijackson
557b786ce0
feat(mpd): Allow for specifying the reconnect interval
2019-04-18 15:55:45 +02:00
Minijackson
8c9dd94670
feat(mpd): Add support for setting tooltip label when disconnected
2019-04-18 15:55:45 +02:00
Minijackson
06aff70e2e
feat: Add basic support for MPD
2019-04-18 15:55:45 +02:00