Skip to content

Media Library: Support Multi-Group Files #3288

@valtapaz

Description

@valtapaz

Is your feature request related to a problem? Please describe.
A bit annoying, but I wouldn't call it a problem. I love the media library's sort capabilities, though saw that songs can't be split among multi-entry tags like artists or genres, instead usually residing in their own comma-separated groups. When I look under a given artist's songs, I'd like for it to include multi-artist collaboration songs. The same goes for genres, as well as looking for songs with some or all of their lyrics in a specific language (...well, my grouping choices are questionable, but I appreciate DeaDBeeF letting its users do weird things like that).

Describe the solution you'd like
You'd mentioned in issue #3193 that this had to do with medialib's grouping structure. Is restructuring it to support songs under multiple categories feasible? I was thinking medialibtree.c's __assign_parents could convert parents from single items to for-loop'd arrays of them, but having rarely dabbled outside JavaScript, I doubt there's any actual technical input I could provide.

Describe alternatives you've considered
I don't think the restructuring would need a ground-up rewrite, but if it's crucial that the base structure stays as-is, perhaps medialib could use the existing structure under the hood while displaying a front-facing one capable of duplicate entries to the user, working in a back end/front end-like manner? I feel like that'd be more work than the above, but that's all I can think of. Songs showing up multiple times in search results feels like expected behavior rather than a drawback, but if it is one, it could be mitigated by showing songs under the first applicable entry when searching.

Additional context
(Can't think of anything here)

Thanks for such a great program!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions