The normalisation threshold should be in ratio space, but the default
value is specified in dB space, so using it as the default implicitly
without passing it through the db_to_ratio function causes distortion
and clipping when normalisation is enabled.
Brings along some other changes:
- Split artist albums/singles into separate panel
- Paginate artist albums/singles
- Play top tracks by artist instead of all tracks by artist
Fixes#477
Introduction of the sort command with #328 broke the deletion of playlist items,
because sorted track indices got out of sync with their actual index within the
playlist at the Spotify backend.
The new approach is not perfect, as it doesn't update the list index of items
after deletion, but by supplying the playlist snapshot id the backend is able to
apply the requested changes.
This should still be improved in the future, though.
* 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.
* Fixed mpris:trackid not returning the id in the correct format.
MPRIS OpenUri function now supports Spotify url links.
* return result directly instead of mut string
* handle artist URLs/URIs
Co-authored-by: Henrik Friedrichsen <henrik@affekt.org>
Before, copies of the configuration were passed over. This change also
causes configuration reloads to affect the entire application and is
easier to maintain but introduces some RwLock overhead.
* 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.
* 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
* 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>