-
-
Notifications
You must be signed in to change notification settings - Fork 211
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MPRIS: Restructuring and cleanup #1515
Conversation
My pr addresses some of the inconsistencies in ncspot's mpris implementation. While the previous logic was technically good enough, it was inflexible and reported redundant information. This will make it easier for software, that processes mpris events in some way, to accurately react to player updates. - 'Metadata' and 'Playback' updates have been separated into there own command - Mpris commands are only emitted from within spotify.rs - Some parts of the application creation logic has been restructured to allow for mpris events to be emitted upon startup - The initial song loading code has been moved from 'Queue::new' into 'Application::new'.
75c2aa8
to
099a934
Compare
099a934
to
29474eb
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR ❤️ I only have a minor nitpicky comment regarding the naming. WDYT?
I've added a clippy exception so it does not complain to us about enum variants starting with the same prefix.
I've chosen my naming convention (:p) and also added an exception so clippy does not complain to us about enums starting with the same prefix. |
Looks good, let's get it in + sorry for the delay! :) |
No worries! Thanks for taking the time! |
Describe your changes
My pr addresses some of the inconsistencies in ncspot's mpris
implementation. While the previous logic is technically good enough, it
is inflexible and reports redundant information.
I've tried to address those issues to make it easier for software, that processes mpris events in
some way, to accurately react to player updates.
command
restructured to allow for mpris events to be emitted upon startup
into 'Application::new'.
Issue ticket number and link
This closes #1514
Checklist before requesting a review
not performance improvements, etc.)
Edit: An example of software that requires strict MPRIS compliance would be the MPRIS module for yambar that I am working on.