New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature: Local music library #1479
base: dev
Are you sure you want to change the base?
Feature: Local music library #1479
Conversation
Wow, that's really great work. Thanks for the contribution. But I'd like to suggest some changes. Instead of having the Local Library section in Settings, we can just show the Local Folders as grid of cards/list in the "Library" > "Local Tracks" Tab. The tracks for each folder will be accessible only on that Folder's specific page. This will also need the "Local Tracks" tab to be renamed as just "Local" meaning local library. |
I'm not completely sure what a grid view would look like for a local tracks list. If you are thinking about album/artist grouping, that's a taller task, and I think it would be better to integrate it into the local fields anyway, which is definitely outside the scope of this PR. (I'm thinking about setting up local track integration via Spotify ID in a future PR.) I think I might try integrating the settings into the "local tracks" list, by grouping by source and putting the "add to library" button there, as you suggested. |
Great work. This is close to what I meant and imagined.
Do you mean it doesn't play any other online tracks if we add them to the Queue later? |
We actually only merge PRs in to the Line 148 in a9ad7c7
|
It does. It doesn't add the other listed sources to the queue, though. I guess if I rework it into multiple pages, this becomes intended behavior :)
Oops I must have missed that. That makes sense. I'll rebase and solve the conflict, and then start trying to rework it into multiple pages, like you asked. I still don't think a grid view makes sense, since I'd have to figure out what image shows up on it, so it'll still be a list, but I'll revert it back to a simple ListView and just list the libraries there. (This will look silly to anyone with just Downloads set, by the way.) |
This folder just doesn't get downloaded to. I think I'm going to rework it so that it can be multiple folders, but I'm going to commit my progress so far anyway. Signed-off-by: Blake Leonard <me@blakes.dev>
I'm not sure if this breaks CI or something, but I couldn't build it locally to test my changes, so I made these changes and it builds again. Signed-off-by: Blake Leonard <me@blakes.dev>
If you used a previous commit from this branch, this is a breaking change, because it changes the type of a configuration field. but since this is still in development, it should be fine. Signed-off-by: Blake Leonard <me@blakes.dev>
This also refactors the list to use slivers instead. That's the easiest way to have multiple scrolling lists here... The console keeps getting spammed with some intermediate layout error but I can't hold it long enough to figure out what's causing it. Signed-off-by: Blake Leonard <me@blakes.dev>
Signed-off-by: Blake Leonard <me@blakes.dev>
Signed-off-by: Blake Leonard <me@blakes.dev>
Not sure if this would be the recommended way to do it... Signed-off-by: Blake Leonard <me@blakes.dev>
Signed-off-by: Blake Leonard <me@blakes.dev>
Signed-off-by: Blake Leonard <me@blakes.dev>
a9ad7c7
to
ef39781
Compare
Signed-off-by: Blake Leonard <me@blakes.dev>
Signed-off-by: Blake Leonard <me@blakes.dev>
This is close to perfect. Later, I guess we can use the Album art of the first 4 songs of the library as the image for the GridView's items. For now I think is acceptable. I can always redo the UI for better UX later. |
This PR introduces a new setting that allows you to set zero or more "local libraries" from a directory. These do not get modified in any way, not even created if they don't exist (they're just not loaded, in that case). Closes #595 (which seems to already be supported, actually).
This is only used right now in the "Local tracks" feature. Playback, queuing, removing libraries, and album art seem to work automatically, but MPRIS metadata does not, and it uses fallback data if you attempt to look at the track, album, or artist pages for any local track, but this seems to be an issue with the existing Downloads folder too.
The PR also changes some dependencies, which I had to do to get it to build and run on my machine. Feel free to revert it, or have me revert it, if you feel it necessary.
Screenshots