Author Topic: Proposal: Extend 'Genre' hierarchy with 'Subgenre'  (Read 33097 times)

hiccup

  • Member
  • Hero Member
  • *****
  • Posts: 4202
its probably best you send me a link to your hierarchy file

Code
Jazz
    Bebop · Cool · Hardbop
        Bebop::genre
        Bop::genre
        Hard bop::genre
    Jazz fusion
        Afro-cuban jazz::genre
        Jazz-rock::genre
        Latin jazz::genre
    Jazz::genre
        Bop::subgenre
    Big band::genre
    Chamber jazz::genre
Funk · R&B · Soul
    Funk
        Funk::genre
            Deep funk::subgenre
        Bayou funk::genre
        Deep funk::genre
    R&B
        R&B::genre
        Doo-wop::genre
        Swingbeat::genre
    Soul
        Soul::genre
        Soul music::genre
        Blue-eyed soul::genre

Steven

  • Administrator
  • Hero Member
  • *****
  • Posts: 31537
Based on that data, the screenshot of the expandable nodes is as I would expect. I am not sure what else you were expecting it would do.

hiccup

  • Member
  • Hero Member
  • *****
  • Posts: 4202
Based on that data, the screenshot of the expandable nodes is as I would expect. I am not sure what else you were expecting it would do.

I am not sure I can explain it better than I did in posts 176 and 178.
I was hoping for a feature that would propose tags that reside under a given main genre, to be written as a subgenre tag.
And that not having an effect on the constructed browsing hierarchy.

For displaying/browsing the subgenre tag would show up in the hierarchy as defined, e.g.:

Code
Jazz
    Bebop · Cool · Hardbop
        Bebop::genre
        Bebop::subgenre
        Bop::genre
        Bop::subgenre
        Hard bop::genre
        Hard bop::subgenre
So that both the genre and the subgenre tag for a given genre show up where you planned them to.

But with the current implementation duplicate categories are created, quickly making a mess of the browsing hierarchy.

Steven

  • Administrator
  • Hero Member
  • *****
  • Posts: 31537
I am not sure I can explain it better than I did in posts 176 and 178.
I was hoping for a feature that would propose tags that reside under a given main genre, to be written as a subgenre tag.
If you create nodes tagged with ::subgenre under a genre, then in the tag editor those values will be in the drop-down list for the sub-genre field as long as you have entered a value into the genre field. I think you have said that's working and that's all I am planning to implement around that aspect.
As to how the subgenre is displayed in the tag hierarchy panel, are you requesting they be suppressed from being displayed?
I would like others to comment on that

hiccup

  • Member
  • Hero Member
  • *****
  • Posts: 4202
As to how the subgenre is displayed in the tag hierarchy panel, are you requesting they be suppressed from being displayed?

No, I am saying the category shouldn't even be created (or seen as a category) in the first place.

When you look at the standard–or the enhanced–hierarchy lists, you find that only entries that are not appended with :: are candidates to be a collapsible category. (if there are genres residing under them)
It makes sense to me as user that tries to create such a hierarchy list, to understand and suppose that entries with :: are genre tags, and entries without are categories.

But with the subgenre implementation as it is now, also a genre tag using :: can now become a collapsible category by itself.
As a user to me that is confusing and seems inconsistent.

I am no coder, but perhaps prevent entries with :: becoming a category could be a solution. Or instead of having this:

Code
Jazz
    Bebop · Cool · Hardbop
        Bebop::genre
        Bop::genre
        Hard bop::genre
    Jazz fusion
        Afro-cuban jazz::genre
        Jazz-rock::genre
        Latin jazz::genre
    Jazz::genre
        Bop::subgenre
    Big band::genre
    Chamber jazz::genre

perhaps something like this:

Code
Jazz
    Bebop · Cool · Hardbop
        Bebop::genre
        Bop::genre
        Hard bop::genre
    Jazz fusion
        Afro-cuban jazz::genre
        Jazz-rock::genre
        Latin jazz::genre
    Jazz::genre
        Bop#subgenre
    Big band::genre
    Chamber jazz::genre

alec.tron

  • Hero Member
  • *****
  • Posts: 679
I find it quite good to be explicit, and allow organizational groups (with no ::genre affiliation) as well as organizational groups also being its' own genre group (with a ::genre affiliation) to be used in a hierarchy.

i.e. I use both... as in:
Combined collector for sub genres and a genre definition in itself:
Code
Discogs_Genres
    Blues::DISCOGS_RELEASE_GENRES
        Boogie Woogie::DISCOGS_STYLES

As well as this 2 explicitely different collector & genre groups with the same name... (as the current system allows us to... :D):
Code
    Electronic
        Bass Music
            Bass Music::Genre




As for opinions, re this:
Code
Jazz
    Bebop · Cool · Hardbop
        Bebop::genre
        Bebop::subgenre
I do not have that use case...and I'm actually not sure what I would prefer or if this should even be allowed (to populate the same named thing from multiple sources...)... and/or if this should create 2 or 1 group (if this was intended usage...) inside the tagHierarchy.
Might need to mull on this to form an opinion...

c.
Last Edit: August 05, 2020, 09:39:11 PM by alec.tron

hiccup

  • Member
  • Hero Member
  • *****
  • Posts: 4202
Code
Jazz
    Bebop · Cool · Hardbop
        Bebop::genre
        Bebop::subgenre
I do not have that use case...and I'm actually not sure what I would prefer or if this should even be allowed

It was already allowed and it can be very useful. I don't see what problems could arise from it.
And for users having subgenre tags it is essential.

(and that is the title and the reason this topic exists ;-)
Last Edit: August 05, 2020, 06:30:46 PM by hiccup

hiccup

  • Member
  • Hero Member
  • *****
  • Posts: 4202
As well as this 2 explicitely different collector & genre groups with the same name... (as the current system allows us to... :D):
Code
    Electronic
        Bass Music
            Bass Music::Genre

That's identical to what I am doing with Jazz both being a category and a genre. (see my screenshots)
There is no issue there.

Similar to your example, I have:
Jazz
so it is understood to be a category.

And I have
Jazz::genre
so it is understood to be a genre tag.
Last Edit: August 05, 2020, 08:43:34 PM by hiccup

hiccup

  • Member
  • Hero Member
  • *****
  • Posts: 4202
Code
Discogs_Genres
    Blues::DISCOGS_RELEASE_GENRES
        Boogie Woogie::DISCOGS_STYLES

Slightly off-topic but curious:
So you are not writing genres sourced from Discogs to the Genre tag?

Does the actual Genre tag also have a place in your workflow and hierarchy sheet?

alec.tron

  • Hero Member
  • *****
  • Posts: 679
As well as this 2 explicitely different collector & genre groups with the same name... (as the current system allows us to... :D):
Code
    Electronic
        Bass Music
            Bass Music::Genre

That's identical to what I am doing with Jazz both being a category and a genre. (see my screenshots)
There is no issue there.

I'm not saying there is an issue. But, entering/using it this way, even though we stated explicitely (in this thread in the past that it probably would be needed, or be best practice, to have unique names for a single tag hierachy, this act was a 'oh, let's just move the goal post a little...' notion for me :D
But, it seems to work indeed/despite and is quite helpful, and a neat additional angle....


As for:
Code
Jazz
    Bebop · Cool · Hardbop
        Bebop::genre
        Bebop::subgenre
I do not have that use case...and I'm actually not sure what I would prefer or if this should even be allowed

It was already allowed and it can be very useful. I don't see what problems could arise from it.
And for users having subgenre tags it is essential.

(and that is the title and the reason this topic exists ;-)
I don't think so that this was explicitely allowed, but it accidentially/incidentially worked. But, this  also is moving the goal post a bit further.
It's not the fact that it uses  Bebop::subgenre, that was indeed the point of this thread  - but the fact that your outline case is attempting to populate the same named thing (i.e. the Bebop tag Hierarchy Group - be it 1 or 2 groups... which, if we don't know, this already screems something is askew), from 2 different source fields (::genre as well as ::subgenre) within the same TagHierarchy definition.
And this feels... odd...messy... & skewed.
But, this is just a hunch/feeling, not an opinion or a fact.



And for:
Slightly off-topic but curious:
So you are not writing genres sourced from Discogs to the Genre tag?

Does the actual Genre tag also have a place in your workflow and hierarchy sheet?

For me official Genre field is populated by hand-picked Genre descriptors that are true for me.
DISCOGS_RELEASE_GENRES & DISCOGS_STYLES hold the discogs auto tagger values and represent the discogs definitions (which can be great, but also terribly hit & miss...).
This allows me to see my library contents within 2 (or more) Genre Taxonomies easily, side by side, and it's awesome; especially since it comes for free as the discogs data has been added to most of my library over the last years :D
The only thing missing is generating MusicBrainz IDs from discogs IDs, to auto retrieve the MusicBrainz data as well, and plonk it into custom fields as well...

c.
Last Edit: August 05, 2020, 10:04:39 PM by alec.tron

darkred

  • Jr. Member
  • **
  • Posts: 48
Greetings

First of all, thanks a lot for the "Tag Hierarchy Explorer", it's an awesome, super useful idea!

I'd like to make some suggestions to consider, regarding the "Tag Relationship Editor" (via rightclick|'Edit Tag Hierarchy'),
in order to be able to edit the hierarchy within MusicBee more easily:
- add a toggle filter, to toggle between: displaying all genres, and display only those genres tags for which there are music files in the Library.
- to be able to drag and drop each genre entry between genre groups
- to be able to expand/collapse each parent group, e.g. the 'Classical', 'Blues · Country · Folk' groups.
Last Edit: August 08, 2020, 05:35:40 PM by darkred

Steven

  • Administrator
  • Hero Member
  • *****
  • Posts: 31537
I'd like to make some suggestions to consider, regarding the "Tag Relationship Editor" (via rightclick|'Edit Tag Hierarchy'),
in order to be able to edit the hierarchy within MusicBee more easily:
- add a toggle filter, to toggle between: displaying all genres, and display only those genres tags for which there are music files in the Library.
- to be able to drag and drop each genre entry between genre groups
- to be able to expand/collapse each parent group, e.g. the 'Classical', 'Blues · Country · Folk' groups.
None of that will be possible as the editor is implemented using a text box.
I will however look at drag/drop in the tag hierarchy panel itself

alec.tron

  • Hero Member
  • *****
  • Posts: 679
Hello hai.
One thing I was wondering (not a feature request - but if there's easy ways to add this feature, that would be grand too... to park genre related info inside the tagHierarchy txt... but, we should be dreading the feature creep... :D ).

With the ability to add ever more dense/complex genres & hierachies - I would love to park (text and/or link) info somewhere, ideally accessible within the MB interface (not necessarily in the tagHierarchy. And definitely not in metadata...).
So, as for a real world example - I have:
Code
        Colombia’s Pacific Marimba Music
            Arrullo::Genre
            Currulao::Genre
            Alabao::Genre
            Chigualo::Genre

Now, against each of the genres I would love to store info (in form of free form text and/or one or multiple URLs/Weblinks), like:
https://ich.unesco.org/en/decisions/5.COM/6.8
So the same link for each of the 4, plus the finer details from the text for each of the above genres...
"This music is performed principally during four rituals: Arrullo, Currulao, Chigualo and Alabao.
Arrullo is a saint worship ritual led by women, who prepare the saints, candles and altars and perform chants accompanied by drums and, on occasion, Marimbas.
The Currulao (or Marimba Dance) is a festive occasion. Men play the Marimba and perform profane chants while people sing, dance, eat and drink, and recount stories.
The Chigualo is a wake following the death of a young child. The body is covered with flowers and a cappella chants are performed around it.
The Alabao is a wake following the death of an adult, where extremely sad chants are sung, also a cappella.
"


As this is probably ever more extreme niche ideas/features - if anyone has an suggestion how this could be done otherwise (the only thing I could think of was to auto-construct URLs to discogs style wiki pages [as one can do with release & artist ID] - but, many of the smaller / sub genres do not exist, or have empty pages [https://reference.discogs.com/style/persian-classical] ) - I'm all ears too.

Cheers.
c.

Steven

  • Administrator
  • Hero Member
  • *****
  • Posts: 31537
I would love to park (text and/or link) info somewhere, ideally accessible within the MB interface (not necessarily in the tagHierarchy. And definitely not in metadata...).
I would be fine to add a syntax so you can include a comment with each genre but anything more where MB does something with it, probably not unless there is significant support for more than that

zkhcohen

  • Sr. Member
  • ****
  • Posts: 307

Just noticed the massive addition of genres to the Configuration.xml file on version 3.4.7555 P.

What's the purpose for this change? New tagging source?