Mpris integration#197
Conversation
|
@devgianlu I know this is still a draft, so I wouldn't want to review it either, but can you take a look at the general structure and maybe feedback if you have some improvements on how it is to be integrated in the program? I tried to do it parallel to the web_api and events system but maybe there is a way to make this more unified (?) |
devgianlu
left a comment
There was a problem hiding this comment.
I'd say this looks pretty good. Mainly nits here and there.
I haven't looked at the mpris package for bugs or nits, but I'd say the overall structure is sound.
At one point there will be a need to unify all the events system, but that day is not today.
|
Should be ready for a more thorough review. I would also consider this to be a low-risk merge because it should be off by default (mainly because not every platform supports mpris).
|
devgianlu
left a comment
There was a problem hiding this comment.
We're almost there! I tested it and it seems to work pretty well.
Just a couple more small things to sort out.
* feat: add initial poc for mpris integration * chore: add mpris enabled to config schema * fix: stop command, sigsegv in state updates * chore: do not allow nil in mpris channels * refactor: mpris metadata use correct uris * refactor: improve error handling for mpris * fix: set mpris stopped in the right place * chore: align usage of media control methods * chore: refactor enum * chore: add pointer helper method * chore: use app logger * refactor: mpris media state and state updates * refactor: add logger to mpris package * amend: use correct logger package * chore: refactor mpris metadata code * fix: add error to close of mpris server interface * fix: make sure mpris:trackid is always set as required by mpris documentation * chore: refactor to allow build on linux and non-linux hosts * chore: revert unnecessary changes * chore: implement change requests
Todo:
locks up on receiving mpris commands with no open sessionadd logger to mpris package