Skip to content

[Feature] Tag hierarchy explorer (or other method to filter by groups of tags) #186

Description

@FlakyBlueJay

Having a way to filter by groups of tag values in a convenient manner would be a nice to have. This is one of the things that keeps me on MusicBee, which uses a "tag hierarchy" template to allow users to create their own filters which can be interacted with using a sidebar. For example: (from my hierarchy based on Rate Your Music's)

Genres
    Ambient
        Ambient::genre
        Ambient Americana::genre
        Dark Ambient
            Dark Ambient::genre
            Black Ambient::genre
            Ritual Ambient::genre
        Space Ambient::genre
        Tribal Ambient::genre
    Blues
        Blues::genre
        Acoustic Blues
            Acoustic Blues::genre
            Acoustic Chicago Blues::genre
            Acoustic Texas Blues::genre
            Jug Band::genre
            Piedmont Blues::genre
     ...

If someone selects Ambient, Blues, or Dark Ambient's group, it'll filter to show all tracks that have all the genre tags (denoted by ::genre) in the selected group, including subgroups in the case of Ambient/Dark Ambient.

It's worth pointing out that MusicBee also allows for custom defined tags - I'm not sure if Astra allows this but it's worth pointing out. Someone has used this to make a template for filtering by country.

Describe alternatives you've considered
Quod Libet allowed filtering using queries, and I wrote an app that converted groups in MusicBee tag hierarchy templates to queries, however large queries simply crashed the app. Tauon Music Box had "generators" but I was not able to get along with it.

Additional context
Someone had tried to do a PR on my template converting it to JSON. This may help if a relationship-based model would be preferred to a hierarchical model.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions