Conversation
15ea488 to
869d34e
Compare
wip: temp fix PlaylistsPageViewModel
869d34e to
e004fea
Compare
|
@United600 Can you take a quick look at this PR and let me know what you think? I think the core functionality of the playlist system is complete. There are some outstanding UX polish items, such as raising a notification when a playlist is created or an item is added to an existing playlist via the context menu, but this PR is getting too big. I'm considering opening a new PR for UX polishes. |
|
Feature wise is in a good state. Why was JSON chosen for the playlist save file format? I'm not a fan of it. We should adopt a format that works across all applications. In the absence of an official standard, the best approach is to use the most widely supported format, and currently that's .m3u8. The save location should be more convenient/accessible, the main music library folder (plus some "Playlists" or similar named folder) should be the default destination. |
|
All good points. To give more context on this implementation:
|
|
It's probably easier (XML-based format would be preferable), but IMHO still the wrong choice. And if we use I was surprised to learn that we don't support opening offline |
|
Can confirm that we can correctly* parse M3U files, but only when using the "Open URL" button. * Files without a full path will not play. To fix this, we'll need to append the path of the folder where the playlist file is located to each file. |
|
I think the separation between the internal app store and the user space is essential, regardless of our formatting choice. As a developer, I don't want users to handle the internal data the app depends on, nor do I want my app to operate on data from users' spaces. For now, internal data is stored in JSON and Protobuf, but I plan to switch to something more standard, like SQLite. Another benefit of this separation is that we can store more data in the internal storage, such as playlist ID, that we don't need to expose to the user and don't need to conform to the file format standard (in case of M3U). |
|
If we want to support
I guess it makes sense: VLC wouldn't know where to open these files with a relative path because it has no concept of the current directory where the playlist file is opened. We can make it work if we handle this case from the Screenbox side. But that's something for another PR. |
I can concede on the separation, but not on the format. I don't see a reason to handle intermediate formats when we can use interoperable playlist formats directly. I quite like how Media Player manages and creates playlists, and should be the gold standard. Gravacao.2026-02-11.141135.mp4Even allows external editing 🥹: Gravacao.2026-02-11.141701.mp4Our opening behavior isn't really consistent: Gravacao.2026-02-11.142402.mp4Gravacao.2026-02-11.142604.mp4 |
|
Okay that live external editing is pretty neat. I've never noticed it could do that. Right now there is no way to 'export' a playlist so the underlying storage format is not as important. Then the features to be implemented for the playlist system are:
Since the core functions of the playlist system are done (saving, loading and playing from a playlist). I think we should still push ahead with the system as-is and implement other features after the initial release and maybe early feedback. |
Sure, in my view, this will increase the technical debt, though the core functionality is solid. |
|
The icons will need some of your touch. I'm running out of system icons. |
Closes #110, closes #596