Major feature release.
- Require Mopidy >= 1.1.
- Replace python-dbus with python-pydbus.
- Remove config value
mpris/desktop_file. It is marked as deprecated in the config schema, so it will be ignored if present in the config file.
- Ordering of playlists by playlist modification time is no longer supported.
- Update UIs when playback options change: On the Mopidy event
options_changed, emitPropertiesChangedforLoopStatus,Shuffle,CanGoPrevious, andCanGoNext. - Update UIs when playback is stopped: On the Mopidy event
playback_state_changed, emitPropertiesChangedforPlaybackStatusandMetadata. (Fixes: #23) - Update UIs when playlists are deleted: On the Mopidy event
playlist_deleted, emit``PropertiesChanged`` forPlaylistCount. - Update track name when stream title changes:
- The
Metadataproperty now usescore.playback.get_stream_title()asxesam:titleif available. - On the Mopidy event
stream_title_changed, emitPropertiesChangedforMetadata.
- The
- Control mixer mute through the volume control:
- The
Volumeproperty is now0.0if the mixer is muted. - When setting the
Volumeproperty to a positive value, the mixer is unmuted. - On the Mopidy event
mute_changed, emitPropertiesChangedforVolume.
- The
- Fallback to get cover art from
core.library.get_images()iftrack.album.imagesis blank. - Do not expose Mopidy's desktop file through the
DesktopEntryproperty. If we set this to "mopidy", the basename of "mopidy.desktop", some MPRIS clients will start a new Mopidy instance in a terminal window if one clicks outside the buttons of the UI. This is probably never what the user wants.
- Improved documentation.
- Port tests to pytest.
- Replace all usage of Mopidy APIs deprecated as of Mopidy 2.2.
- Remove dependency on python-indicate and libindicate, as it is deprecated and it no longer seems to no be necessary to send a startup notification with libindicate.
- Make tests pass with Mopidy >= 2.0.
- Make tests pass with Mopidy >= 1.1.
- No longer allow
Quit()to shut down the Mopidy server process. Mopidy has no public API for Mopidy extensions to shut down the server.
- Fix crash on seek event: Update
seekedevent handler to accept thetime_positionkeyword argument. Recent versions of Mopidy passes all arguments to event handlers as keyword arguments, not positional arguments. (Fixes: #12) - Fix crash on tracks longer than 35 minutes: The
mpris:lengthattribute in theMetadataproperty is now typed to a 64-bit integer. - Update
Seek()implementation to only pass positive numbers to Mopidy, as Mopidy 1.1 is stricter about its input validation and no longer accepts seeks to negative positions. - Add a hardcoded list of MIME types to the root interface
SupportedMimeTypesproperty. This is a temporary solution to be able to play audio through UPnP using Rygel and Mopidy-MPRIS. Long term, mopidy/mopidy#812 is the proper solution. (Fixes: #7, PR: #11) - Add a
mpris/bus_typeconfig value for making Mopidy-MPRIS connect to the D-Bus system bus instead of the session bus. (Fixes: #9, PR: #10) - Update tests to pass with Mopidy 1.0.
- Fix: Make
OpenUri()work even if the tracklist is empty.
- Updated extension API to match Mopidy 0.18.
- Update to work with Mopidy 0.16 which changed some APIs.
- Remove redundant event loop setup already done by the
mopidyprocess.
- Moved extension out of the main Mopidy project.