Skip to content
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

Import Playlists #391

Open
jdewoody71 opened this issue Dec 10, 2023 · 13 comments
Open

Import Playlists #391

jdewoody71 opened this issue Dec 10, 2023 · 13 comments
Milestone

Comments

@jdewoody71
Copy link

Hello! I am trying LMS out and can't seem to find how to import my playlists. Thanks!

@epoupon
Copy link
Owner

epoupon commented Dec 10, 2023

Hello!
For now you can't!

@jdewoody71
Copy link
Author

Thank you for the quick response. I must say, it's disappointing that this media server is missing one basic function that most other have.

@epoupon
Copy link
Owner

epoupon commented Dec 10, 2023

Yes indeed :(

@TanqBQZ
Copy link

TanqBQZ commented Sep 2, 2024

@epoupon
I'm looking forward to this aswell !

@simonbun
Copy link

simonbun commented Nov 7, 2024

@epoupon
I spent all that time building test cases to see how LMS handled album attribution only to assume that external playlists would just work!

I've already spent a little time looking at how to export playlists and rated tracks from LMS, and I'm now wondering if I can create the playlists in lms.db directly (for the initial load). If it's safe to do so, how do I handle the lms.db-WAL journal, as when exporting I had to perform a full rescan for playlists and rated tracks to appear in lms.db, even shutting down the server didn't bring the changes across.

@epoupon
Copy link
Owner

epoupon commented Nov 7, 2024

Hello, what do you want to do exactly?

What I planned is to import playlist files that are within media libraries and automatically create/update corresponding public playlists within LMS.

@simonbun
Copy link

simonbun commented Nov 7, 2024

At a basic level all I want to be able to do is to import playlists into LMS and have the ability to export them too (in addition to ratings/favourites e.t.c., but I can script that aspect of things).

My current workflow in the UPnP world is for the server to index the local m3u8 playlists and present them to control points, within which I'll modify those playlists as well as create new ones. At some point I'll export the playlists from the control point (containing new and modified playlists that were originally indexed by the server), convert them to m3u8 and load them back into my media collection to be indexed by the server, after which I'll clear them from the control point. It's a long winded process but it's the only way to have shared playlists across devices.

I've yet to really test playlist functionality but hopefully I can simplfy that process somewhat :)

@epoupon
Copy link
Owner

epoupon commented Nov 11, 2024

To answer your original question, yes you can create yourself a playlist in the db.
What you have to do is to add an entry in the tracklist table with type = 0, public = 0, and user_id = the id of your user.
Then you have to create a record in the tracklist_entry table for each track you want to add in your playlist.
It is safer to do this offline, but technically it could be done while LMS is running (as long as you don't do this while scanning for adding/removing tracks)

@simonbun
Copy link

I had a chance to look at it over the weekend and it works well.

In Symfonium you have to manually import each playlist separately, which is a bit frustrating, and during import you can choose to make the playlist readonly or have it sync with the server. If/when you decide to enhance LMS by importing playlists, would it be possible to set them as readonly, or are clients expecting to be able to update the server?

Whilst from an OpenSubsonic point of view it doesn't look like a playlist can have its own artwork, it would be nice for the web-gui (having same location and name as playlist).

@epoupon
Copy link
Owner

epoupon commented Nov 11, 2024

Yes, imported playlists will be read only/public, and synced with the playlist files.
Users will be able to load the public playlists and re-save them as they want (but only as another private or public playlist)

@whinette
Copy link

whinette commented Nov 26, 2024

(shameless plug)
@simonbun I'm interested to know the reason you're currently experimenting with lms & symfonium, from minimserver & bubbleupnp, as I'm currently doing the same.
For myself, in a few words, I've tested plexamp for a few months and the advanced radio/shuffle, the persistent play history & advanced stats, the recommendation engine, the favorites that persist server side, I found that really good and my current setup at the time (minimserver & bubbleupnp) were really lacking in these domain...
But plex is really bad for music, as I grew to know:

  • Really bad at handling advanced tags
  • Really bad at handling tags with multi entries
  • The performance is atrocious (for comparison, initial scan of minimserver for my lib runs at about 9mn, lms at about 19mn, plex is ... 15 hours).

I'm really liking lms + symfonium. I'm also using lms webui at work, and while I will have some suggestion to improve the UX, it is already good enough.

The only feature I'm currently missing is a upnp facade on lms to be able to cast to my amplis.

@simonbun
Copy link

@whinette

I was originally looking for an Android Auto solution to supplement my existing setup, so once I'd chosen Symfonium it was just a matter of picking a compatible server.

My core requirements were:

  • Accurate album attribution (given I have many albums with multiple remasters)
  • Multivalue artist, album type and disc subtitle support
    From my testing LMS was the only one to check all the boxes.

The reality is that I'm likely to keep both solutions, as whilst the UPnP solution is much less functional it allows me to:

  • Group by Boxsets (not using disc subtitles as I want the albums contained therein to be visible alongside all my others), Series and Release Group (with all releases within e.g. remasters/reissues)
  • Use BubbleUPnP to control multiple renderers using OpenHome
  • Make use of more tags e.g. Subtitle, Version, Remaster Date

I think LMS/Symfonium will be my daily driver, with the UPnP solution fulfilling my OCD tendancies :-)

Whilst I would appreciate a Plex style recommendation engine, I get that from streaming services which I use for music discovery, so I wouldn't compromise. Did the 15 hour Plex scan time include the PlexAmp Sonic Analysis?

@epoupon epoupon pinned this issue Dec 1, 2024
@epoupon epoupon added this to the v3.62.0 milestone Dec 1, 2024
@whinette
Copy link

whinette commented Dec 3, 2024

@simonbun thank you! Indeed, I forgot about Android Auto, it was the first step in my search for other solutions.

That's true, the 15h initial scan time include Sonic Analysis, that isn't completely fair.
My files have replaygain 2.0 tags though, but Plex recalculate that.

Futures scans were also far longer, I don't have an exact figure in mind, but the ratio is in hundred.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants