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>
This commit is contained in:
Joseph Benden
2020-10-03 22:01:51 -07:00
parent bcb63b8ccb
commit 21fdcf41c3
8 changed files with 736 additions and 188 deletions

View File

@ -213,7 +213,8 @@ endif
if libmpdclient.found()
add_project_arguments('-DHAVE_LIBMPDCLIENT', language: 'cpp')
src_files += 'src/modules/mpd.cpp'
src_files += 'src/modules/mpd/mpd.cpp'
src_files += 'src/modules/mpd/state.cpp'
endif
if gtk_layer_shell.found()