Skip to content

Mopidy extension to remember playback progress for only certain specified tracks.

License

Notifications You must be signed in to change notification settings

ViciousBadger/mopidy-progress

Repository files navigation

Mopidy-Progress

Latest PyPI version CI build status Test coverage

Remember and restore playback progress for specified tracks.

The extension can be configured to save progress on any track you want to based on pattern matching, meaning you can enable it only for relevant media, e.g. podcasts and audiobooks.

Progress is saved continually while a track is being played. Whenever that same track is played again, the extension will restore the saved progress so you can listen from where you left off.

When a track is played to its end, the saved progress will reset. It is also possible to reset the saved progress by stopping (not pausing) the track.

Project status

The plugin is reasonably stable as far as I know.

I am personally satisfied with the state of the project as it fulfills my own needs, but should you want it to do more, please submit an issue or a pull request.

Known issues

When exiting mopidy with this plugin installed, the process will hang for anywhere between 0-5 seconds. This is because the timer that auto-saves track progress does not stop properly upon exit. If you, the reader, know how to solve this though your knowledge of Python and the Pykka library, please let me know!

Installation

Install by running:

python3 -m pip install Mopidy-Progress

Configuration

The default configuration looks like this:

[progress]
enabled = true
min_length_minutes = 30
patterns =

    ^podcast\+

With the defaults, progress will be saved for tracks from the Mopidy-Podcast extension and tracks that are longer than 30 minutes. Other tracks will always play from the beginning as normal.

To change this behaviour, you must add configuration for Mopidy-Progress to your Mopidy configuration file:

[progress]
enabled = true
min_length_minutes = [integer]
patterns =

    [pattern],
    [pattern],
    ...

The 'patterns' setting determines which tracks progress will be remembered for based on their track URI.

You can find the URI of a track in several ways, one of them being adding the track to any playlist and then opening the playlist file in a text editor. (By default playlists are stored in ~/.local/share/mopidy/m3u/)

Patterns use regular expression matching. Be aware that some symbols will have special meaning in regular expressions and must be escaped, like the '+' symbol this pattern:

^podcast\+

The above pattern matches any track with an URI starting with 'podcast+', which will be any track from the Mopidy-Podcast extension.

Another example of an expression could be:

^local:track:Audiobooks

This one matches all tracks in a special user-defined directory of the Mopidy-Local extension. For more information on such directories, consult the readme for [Mopidy-Local](https://github.com/mopidy/mopidy-local).

Project resources

Credits

About

Mopidy extension to remember playback progress for only certain specified tracks.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages