Commit Graph

76 Commits

Author SHA1 Message Date
Henrik Friedrichsen
f0c42afc7d bump to version 0.2.0 2020-07-17 23:49:47 +02:00
Bettehem
578d2b2f0c fix mpris metadata returing Spotify URI instead of an url in xesam:url field (#222)
* 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"
2020-07-14 21:30:14 +02:00
Henrik Friedrichsen
1b1d392ab8 podcast support (#203)
* 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
2020-07-14 10:38:22 +02:00
Henrik Friedrichsen
20536580fc refactoring/simplifications (via cargo clippy) 2020-06-06 12:07:59 +02:00
Bettehem
2e89cc3d01 Added OpenUri D-BUS MPRIS support.
Removed "user:" from URIType check because Spotify doesn't always provide it.
2020-04-27 10:33:31 +02:00
Henrik Friedrichsen
dccb36d8e7 update to rust edition 2018 + bump version 2020-03-15 11:06:24 +01:00
Henrik Friedrichsen
d2915316da various non-functional code cleanups 2020-02-21 23:33:08 +01:00
Henrik Friedrichsen
6bf1d662dc minor code cleanups 2019-11-02 23:18:34 +01:00
Henrik Friedrichsen
dc427e3ba2 formatting + clippy cleanups 2019-10-31 12:30:25 +01:00
Henrik Friedrichsen
d01dad9a57 use spotify user id from librespot session for web api requests
fixes broken web api requests for users who logged in with their email address

fixes #98
2019-10-12 16:15:53 +02:00
Nick Mavis
f48871a98a Added additional dbus support 2019-10-02 10:50:36 -04:00
Henrik Friedrichsen
b7a6903908 fix: use signed datatypes for length/trackNumber
as defined per specs:

https://www.freedesktop.org/wiki/Specifications/mpris-spec/metadata/#index2h4

fixes #89
2019-09-01 21:32:42 +02:00
Henrik Friedrichsen
7aa70fcb6b fix deprecation warnings caused by old trait object syntax 2019-09-01 01:32:50 +02:00
Henrik Friedrichsen
9a38eaa535 rework mpris notification of PropertiesChanged
as sending out PropertiesChanged events was triggered asynchronously by a
message queue, retrieving the metadata during message formatting is too late.

this resulted in two PropertiesChanged messages announcing the new track as
playing.

this should prevent such a scenario.

as discussed in #89
2019-09-01 01:10:35 +02:00
Henrik Friedrichsen
68a2a633f2 match previous mpris action with that of "<" binding
fixes #71
2019-05-11 19:48:22 +02:00
Henrik Friedrichsen
0de6ad2dfe adapt to new rspotify structures
these changes are necessary to handle playlists with local tracks properly
2019-04-17 18:25:00 +02:00
Henrik Friedrichsen
4f8342da83 refactorial spring cleaning (cargo fmt + clippy) 2019-03-26 20:51:39 +01:00
KoffeinFlummi
45062bd89e Add shuffle and repeat 2019-03-25 18:32:51 +01:00
KoffeinFlummi
e6a7d8a693 Add seeking 2019-03-25 18:32:51 +01:00
KoffeinFlummi
fb83746476 Fix MPRIS progress time unit
MPRIS expects time in micro, not milli seconds.
2019-03-17 04:30:45 +01:00
KoffeinFlummi
5a85619105 Add rebindable keys, refactor lists 2019-03-17 04:29:29 +01:00
Henrik Friedrichsen
3d385aff9b fix compilation on rustc <1.33
also, precision in the seconds should be good enough

fixes #33
2019-03-14 21:00:46 +01:00
Henrik Friedrichsen
a5d00730ea implement playlist caching 2019-03-14 20:34:13 +01:00
Henrik Friedrichsen
7aa6d49f3d move foreign SpotifyId struct out of Track model 2019-03-13 23:30:50 +01:00
KoffeinFlummi
ea08608eec Refactor DBus server, implement PropertiesChanged 2019-03-12 16:40:21 +01:00
KoffeinFlummi
9db8d0fcb3 Implement MPRIS D-Bus spec 2019-03-11 21:24:25 +01:00