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.
`directories` create is no longer maintained, and uses
`~/Library/Preferences` on MacOS, but Apple advises against creating
files in `Preferences`.
`platform-dirs` allows to use `~/.config` on MacOS.
* feat: add insert command to paste spotify links
- use Ctrl-v to paste from clipboard or use :insert without an argument
* fix: handle paste on disabled clipboard feature
* fix: handle wrong URIs
Co-authored-by: Henrik Friedrichsen <henrik@affekt.org>
* Use libc for setlocale() to fix non-ASCII
character printing.
https://github.com/hrkfdn/ncspot/issues/221
* move string instantiation outside unsafe block
update libc crate while at it
Co-authored-by: Henrik Friedrichsen <henrik@affekt.org>
* 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