* Added OpenUri D-BUS MPRIS support.
Removed "user:" from URIType check because Spotify doesn't always provide it.
* Added tags to .gitignore
* Changed mpris metadata to actually return the track's url instead of the Spotify URI so that it matches the functionality of the official Spotify client.
* Changed mpris:trackid and xesam:url to not use static naming so it can support podcasts.
* Changed xesam:url to default to an empty string instead of "0"
* Added possibility to start playing Shows and Episodes via MPRIS.
Added possibility to search for Podcast Episodes.
* Added OpenUri D-BUS MPRIS support.
Removed "user:" from URIType check because Spotify doesn't always provide it.
* Added tags to .gitignore
* Changed mpris metadata to actually return the track's url instead of the Spotify URI so that it matches the functionality of the official Spotify client.
* Changed mpris:trackid and xesam:url to not use static naming so it can support podcasts.
* Changed xesam:url to default to an empty string instead of "0"
* implement search for shows/podcasts
* create Playable supertype for queue to contain tracks and episodes
* wip: implement playback of episodes
* load spotify id from uri instead of raw id to fix podcast playback
* show duration for podcast episodes
* implement generic status bar for playables (tracks and episodes)
omit saved indicator for now as the library does not yet support podcasts
* instead of only the last 50 fetch all episodes of a show
* refactor: extract Playable code to separate file
* implement playback/queuing of shows + sharing url
* implement podcast library
* migrate mpris code to Playable supertype
`is_followed_playlist()` only works within the library context. In the search
view it almost always evaluates to `true` as most playlists are owned by other
users.
fixes#213
* wip: add methods and api usage to delete track from playlist
* enh: add ability to remove track from playlist with immediate visual feedback
* minor cosmetic changes
Co-authored-by: Henrik Friedrichsen <henrik@affekt.org>