Commit Graph

32 Commits

Author SHA1 Message Date
JojiiOfficial
6587efdfd2 Add dialog for adding duplicate tracks to a playlist (#299)
* Add dialog for adding duplicate tracks to a playlist

* use local playlist store to check for duplicates

Co-authored-by: Henrik Friedrichsen <henrik@affekt.org>
2020-10-24 20:41:55 +02:00
Henrik Friedrichsen
e5be021699 refactor: zap display_center stub implementations 2020-10-18 17:04:41 +02:00
Henrik Friedrichsen
013beb245b refactor: pass globally mutable config reference
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.
2020-10-18 13:09:45 +02:00
Henrik Friedrichsen
e1b4892b8a make album column for tracks configurable
introduces new config variable `album_column`

fixes #267
2020-10-17 23:56:23 +02:00
Moshe Sherman
fc79889665 play next (#278)
* add play next feature

* fix play_next insertion order

* fix play_next call for playable

* document play_next shortcut + reformat

Co-authored-by: Henrik Friedrichsen <henrik@affekt.org>
2020-10-04 16:58:55 +02:00
Moshe Sherman
77e5de562d Display album name for playable objects (#268)
* display album name

* give proper name to the space key

fixes #266

* use 50% for center offset

Co-authored-by: Henrik Friedrichsen <henrik@affekt.org>
2020-09-28 22:28:10 +02:00
Henrik Friedrichsen
6f7b64c908 cargo clippy 2020-08-23 21:00:29 +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
bb89d189ae migrate to rspotify 0.10.0
in preparation for the future release with podcast API support
2020-07-10 21:10:56 +02:00
Henrik Friedrichsen
6f38c67ee3 fix: show checkmark for saved playlists instead of followed
`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
2020-07-08 22:27:24 +02:00
Thomas Storey
e5419dae2d add methods and api usage to delete track from playlist (#211)
* 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>
2020-07-01 20:52:39 +02:00
Henrik Friedrichsen
4e9bfa16a2 Revert "migrate to rspotify 0.9-dev"
This reverts commit acc333460b.
2020-06-25 21:11:50 +02:00
Henrik Friedrichsen
acc333460b migrate to rspotify 0.9-dev
in preparation for the future release with podcast API support
2020-06-06 12:01:16 +02:00
Henrik Friedrichsen
dccb36d8e7 update to rust edition 2018 + bump version 2020-03-15 11:06:24 +01:00
Tobias Langendorf
363e71242a Shuffle: Start with random track if not selecting track directly
Starting a playlist, album or artist with shuffle enabled always
starts on the first track in it and then plays the rest of the
queue shuffled.
This changes it so unless a track is picked directly, playback
will start on a random track of the selection.
2020-02-21 18:42:31 +01:00
Henrik Friedrichsen
7aa70fcb6b fix deprecation warnings caused by old trait object syntax 2019-09-01 01:32:50 +02:00
Henrik Friedrichsen
980f6eb528 move to a separate save/delete binding approach
this is to address accidental deletions of playlists/tracks that some users
faced

closes #75

related #15
2019-08-13 21:59:11 +02:00
Henrik Friedrichsen
96a0e9f9d6 add type coercion helper to ListItem objects 2019-06-09 23:57:47 +02:00
Rasmus Larsen
90c1930c39 Fix playlist share url generation 2019-05-10 11:06:46 +02:00
Rasmus Larsen
4897d97931 Move URL handling to relevant structs and share selected song 2019-05-09 16:04:07 +02:00
KoffeinFlummi
386ac8b896 cargo fmt 2019-04-28 11:59:12 +02:00
KoffeinFlummi
662b718a4c Lazy-load non-library playlists
Fix #62
2019-04-28 11:31:32 +02:00
KoffeinFlummi
fd3dbd0a6a Prevent single-key unsaving of created playlists 2019-04-28 11:04:59 +02:00
KoffeinFlummi
eed3edfa59 Differentiate between followed and created playlists
Fix #56
2019-04-28 11:04:51 +02:00
KoffeinFlummi
754d6d5c04 Move playlist methods out of library.rs 2019-04-28 10:32:54 +02:00
Henrik Friedrichsen
eb2e8322e5 Merge remote-tracking branch 'origin/feature/new_rspotify' into develop 2019-04-24 21:01:15 +02:00
KoffeinFlummi
eed218d0c3 Implement browsing for albums, artists, playlists 2019-04-23 01:40:00 +02:00
KoffeinFlummi
1a17860957 cargo fmt 2019-04-20 00:11:43 +02:00
KoffeinFlummi
f320b953d6 Implement following playlists 2019-04-19 23:50:36 +02:00
KoffeinFlummi
1e58ca9345 Implement (un)saving tracks, albums; (un)following artists 2019-04-18 15:43:51 +02:00
KoffeinFlummi
adba809327 Display saved/followed checkmark 2019-04-18 14:04:40 +02:00
KoffeinFlummi
210c7d9f4e Implement saved tracks, albums, and artists 2019-04-16 19:52:22 +02:00