ListenBrainz currently allows to create playlist (and import/export via API) but it would be great for the end-user to be able to import playlists as plain text files. There are multiple formats, from .m3u8 to XPSF or JSPF which would easily fit in this context.
Adding tracks one by one makes the current feature almost unusable for people with already created playlists. The ability to load a m3u8 file with artist - title or a simple list with those values would be great, if not a requisite here. Nearest matches could be automatically added and the user could edit the list later if fixes are needed.
Also it would be great to be able to export the playlist to plain text formats, not only to Spotify. XSPF or JSPF already exist for this use case where there is not a physical file but just an identifier (wether it is the artist and title or an MBID). Multiple players support those formats (for ex. Foobar2000).
All these playlist formats are essentially just fancy list of file paths in the end, which Listenbrainz cannot map to tracks without knowing the metadata. The same problem also applies to export, since Listenbrainz obviously can’t know the paths to your files.
EDIT: The above applies to M3U-like formats at least, JSPF/XSPF apparently support alternative styles but I don’t know if there is actually player support for this anywhere…
Plain text lists can be exported, reused by users in other apps, processed with excel, etc.
There are thousands of tools to even match a list of tracks to paths according to your library… even if you don’t go the M3U route.
I asked about importing M3U or just a simple list of artist - title [-album], not about exporting M3U which obviously makes zero sense. How do you create a playlist with 100 tracks on ListenBrainz? One by one? It’s a simple addition to cover a use-case: an user already has lists on the PC or other tools, export them as an artist-title list and imports them here. No APIS, no deprecation, no future problems, works everywhere and forever.
You can already import playlists in JSPF format using the Playlists — ListenBrainz 0.1.0 documentation API endpoint. However, a UI form to choose the file from the user’s computer or paste the json in a text box is indeed missing. It is on the list of enhancements to playlists in LB just not added yet.
Similarly, we don’t have a export in JSPF format option but can add it in future.
Right now it supports submitting any playlist format (m3u, m3u8, xsp, xspf, jspf, strm, pls, autoplaylists) to ListenBrainz as long as the tracks have MBIDs.
Also syncing after playlists have been exported, playlist_mbid is saved on the file: cleans online playlist and then adds all tracks from offline file again.
Importing retrieves the jspf playlist and performs content resolution using MBIDs, or artist + title, against foobar2000 library. Matched results, as playlist, are saved in any of the formats at top.
Not a replacement for those LB enhancements, since it should be implemented here too… but at least foobar2000 users like me have a way to interact with LB playlists within the player.
And yep, It supports XSP format. i.e. smart playlist from Kodi can be added to ListenBrainz, submitting tracks which match the rules on the user library at the exporting step. The same for native Foobar2000 Autoplaylists.
This obviously opens up the possibility of performing advanced queries to create smart playlists synced on multiple devices using LB as the server.