spot
spot copied to clipboard
Save tracks to library from dot menu
This PR fixes #505.
Current status: At the moment, tracks can only be saved/removed through the multi-selection mode. In the 'saved tracks' view, tracks can be removed from the library through the multi-selection mode. In all other places they can be added to the library (but not removed, if they are already in the library).
My implementation: I implemented the functionality to add/remove track to/from the library, through the dot menu of a track. This functionality also updates the 'saved tracks' view. Tracks can now be saved/unsaved from:
- Album
- Playlist
- Artist
- now playing
- saved tracks (here, tracks can only be removed)
The issue description also suggests adding/removing tracks through a button in the now playing bar, but I decided against implementing the functionality that way, as I think it will clutter the UI too much.
This is how the dot menu of a track looks now:
Discussion/ Problem: I realized that currently there is no way of checking if a song is already in the library or not (maybe there is, but I just missed it, then let me know). So I always display the add and remove entry in the dot menu, however it would be cleaner to only display one, depending on the like-status of the song. I also realized that at the moment tracks can be saved through the multi-selection mode in many places (playlist, album..) but not removed. Tracks can only be removed in the 'saved tracks' view, through the multi-selection mode. Is this a design choice? Then I could also only display the 'add to library' entry in most places (playlist, album..), and the 'remove from library' only in the 'saved tracks' view
I'm more than happy to discuss these problems and change by PR
Hi! Thanks a lot for your (multiple) contributions! I just got back after a long hiatus from the project, someone will have a look at your PRs soon. Sorry for the (very) long wait! If you still feel like being involved, you can always rebase your work ( had to update gtk dependencies :/) otherwise we'll have a look when possible
There are a couple of PRs that are out of date, but shouldn't take too much time to get rebased on the current development branch. Would it alright if I submit a few PRs in the next week or two ~~or three~~ which resolve #559, #531, and #554? I want to help out and familiarize myself with the code base because I like the designs @bragefuglseth and want to get them implemented. I see that somebody plans to work on #615 in July, but #616 is still available so at some point if nobody has taken on this, I'm very interested in helping out! :D
P.S. You can close #561 and maybe a few other old PRs which have already been implemented (but if there are any that just need some fixes and a little rebasing, send them my way on Matrix, @thezaedus:matrix.org)
Not sure if you've just been busy, or if I should have pinged you on this old PR haha @xou816
Hey @Zaedus. I'm back at the project and intend to be more active. I see you're always commenting and engaging with the project. If you're still interested in solving the proposed issues, feel free to ping me :)
LGTM and was rebased nicely with my current branch. Currently awaiting #684 for merge
Thanks for picking this up again, @Diegovsky. Don’t hestitate to ping me if you’d like design input or mockups for anything.
Hey @bragefuglseth ! Sure, I love the mockups you make!
I'm currently trying to get the project back to a somewhat consistent pace, and I'm grateful that you and other people are still interested in Spot :)