This adds support for looking up metada for all any any protocols the streaming
backend will support. This should also ensure that file:// files get metadata.
The example is using an Icecast fallback stream that plays a silent MP3 file
when Mopidy sends the shutdown signal.
Tested and found working, however had minor issues with the client
(mpg123) playing the stream was getting out of sync when rapidly changing
songs.
Looking at the Icecast logs, it revealed that the switch between the mopidy and
the fallback stream happened immediately, so the issue is probably with the
client.
- Make attributes internal with _ naming
- Cleanup handling of min durtion. Min set to None disables the check.
- Check state change result for no preroll which indicates a live source which
must transistion to playing to get tags etc.
- Create $XDG_DATA_DIR/mopidy/local in the local extension's validate env.
- Make sure we handle bad data causing ValueError in JSON decoding
- Initializing empty file causes more harm than good as it just leads to a
ValueError. Switched to doing write_library(json_file, {})
- Helpers have been updated to be library oriented, not track. This paves the
way for having {tracks: {uri: ...}, artist: {uri: ...}, ...} type
denormalized data.
- Updates doc references to tag cache
- Removes tag cache from config and marks it deprecated
- Removes tag cache from setup.py
- Removes tag cache from config converter
- Removes tag cache from tests
- Converts local library tests to use JSON.
- Sets local-tagcache as disabled
- Implements new library that uses a gzip compressed json as storage.
- Thanks to reuse of existing serialization code this is a fairly small change.
We now only operate on local track uris, instead of a funny mix of local and
file uris. To achieve this we instead maintain a uri->path mapping to use for
the actual scanning.
- find_uris is no more
- find_files now returns file paths relative to path being searched
- find_files now only works on directories
- find_files tests have been updated to reflect changes
- local scanner has gotten a minimal update to reflect this alteration