Author Topic: How to use the sub-grouping header  (Read 50889 times)

Bee-liever

  • Member
  • Hero Member
  • *****
  • Posts: 3312
  • MB Version: 3.3.6973
Getting the most out of the sub-grouping header.

At first glance the sub-grouping header appears to be of little value for everyday use.

When tagged correctly, MusicBee already splits multi-disc albums into the seperate discs, so using Disc#  only adds a basic number.



Even using Composer to split Various Artist Classical Albums;



or Touring?, to add a "Y" to let you know when an Artist is touring so you can then check out the upcoming concerts page;



is nothing to really get excited about.

But combine it with a few standard, custom and virtual tags and you can have a host of information and quick selection options displayed in the 'Album and Tracks' and 'Artwork' panels.

In my own set-up, I have used the in-built MB custom tag "Set-Subtitle", and standard Disc Count and Disc# to create the virtual tag:

Sub-Header [variable]
Code
$If(<Disc Count>>1,$IsNull(<Set Subtitle>,"• Disc "<Disc#>" •","• Disc "<Disc#>" • "<Set Subtitle>" •"),$IsNull(<Set Subtitle>,,"• "<Set Subtitle>" •"))

By using this tag for my sub-grouping header, I'm able to get a bit more visual appeal for a standard multi-disc album;



Break up classical albums into separate works;



Mark tracks as hidden or bonus;



Break albums into sections as envisaged by the artist;



And because the sub-header is selectable, it's quick to play, queue or add to a playlist just that section of an album.




Just a word of caution, before you get too carried away with this.
The more info you pack in to that sub-grouping header to be displayed, the harder MB has to work to sort out the groupings.  With large collections, this can lead to noticeably longer start-up times.
Last Edit: October 20, 2015, 12:05:59 AM by Bee-liever
MusicBee and my library - Making bee-utiful music together

MeeMeeMee

  • Full Member
  • ***
  • Posts: 181
This is such an incredible tip/idea. I've been struggling with this problem for some time.
I'm a bit curious in regard to the actual tags, not the virtual tag, you're using to store the information.
I've been using the disk# tag for non-numerical values, when appropriate.
For example, Outkast's Speakerboxxx/The Love Below, which has 2 CD - instead of 1 and 2 I use "Speakerboxxx" and "The Love Below". The same thing with Tom Wait's 3CD album Orphans: Brawlers, Bawlers & Bastards. I also do a similar thing when I have a special edition album with a bonus CD containing additional material (live performances, different mixes or different takes) - I name those cds Album and Bonus Disk, for example.

I use these to auto-organize the files as well.

As to the matter of the set subtitle - why not use the grouping tag? Isn't that exactly what it's designed for?
MusicBee 3.2.6827 / Direct Sound Output
Windows 10 pro (64-bit) / Intel i5-3470 / 8GB RAM
Media on NAS (shared using CIFS)
13K+ tracks, predominantly FLAC (~1000 albums) ; converted to mp3 (lame -V 2) when synced to my Cowon D2+

Bee-liever

  • Member
  • Hero Member
  • *****
  • Posts: 3312
  • MB Version: 3.3.6973
The 'Set subtitle' (TSST) frame was introduced in ID3v2.4 specifically for the subtitle within album sets.

The grouping tag is more for normally unrelated tracks (Album and Artist wise) that fit a larger category; ie: Christmas, Piano Concerto, Live Performance.
Last Edit: November 14, 2014, 09:07:52 PM by Bee-liever
MusicBee and my library - Making bee-utiful music together

MeeMeeMee

  • Full Member
  • ***
  • Posts: 181
The 'Set subtitle' (TSST) frame was introduced in ID3v2.4 specifically for the subtitle within album sets.

The grouping tag is more for normally unrelated tracks (Album and Artist wise) that fit a larger category; ie: Christmas, Piano Concerto, Live Performance.

I didn't know that. Too bad Vorbis Comment hasn't grown beyond the very basic tags.
MusicBee 3.2.6827 / Direct Sound Output
Windows 10 pro (64-bit) / Intel i5-3470 / 8GB RAM
Media on NAS (shared using CIFS)
13K+ tracks, predominantly FLAC (~1000 albums) ; converted to mp3 (lame -V 2) when synced to my Cowon D2+

Bee-liever

  • Member
  • Hero Member
  • *****
  • Posts: 3312
  • MB Version: 3.3.6973
Too bad Vorbis Comment hasn't grown beyond the very basic tags.

Yeah.  The majority of my library is in FLAC, but I use the ID3 tagging system for all file types, as it's the only one with a fully published standard.
MusicBee and my library - Making bee-utiful music together

psychoadept

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 7716
Is this guide on the wiki? It would be a great addition.  Thanks!
MusicBee Wiki
Use & improve MusicBee's documentation!

Latest beta patch (3.3)
(Unzip and overwrite existing program files)

theta_wave

  • Hero Member
  • *****
  • Posts: 659
Can you post up your Header [Variable] virtualtag?

Bee-liever

  • Member
  • Hero Member
  • *****
  • Posts: 3312
  • MB Version: 3.3.6973
It's just after the first three images in the first post.
I must admit it doesn't stand out like it did before the forum upgrade :(

Sub-Header [variable]
Code
$If(<Disc Count>>1,$IsNull(<Set Subtitle>,"• Disc "<Disc#>" •","• Disc "<Disc#>" • "<Set Subtitle>" •"),$IsNull(<Set Subtitle>,,"• "<Set Subtitle>" •"))
MusicBee and my library - Making bee-utiful music together

theta_wave

  • Hero Member
  • *****
  • Posts: 659
I guess I should have been more specific, as I was particularly interested in the Virtualtag that expresses "Released: <CustomDateField?>/<Year> (yyyy)"

The subtitle field is fun to play around with.  It certainly helps with classical music!  Thanks!

Bee-liever

  • Member
  • Hero Member
  • *****
  • Posts: 3312
  • MB Version: 3.3.6973
I was particularly interested in the Virtualtag that expresses "Released: <CustomDateField?>/<Year> (yyyy)"

That's my RH grouping header
It uses a custom tag - Release Date Sort - in the format YYYYMMDD that I use a virtual tag to convert to the format DD Mon YYYY for display.
It removes DD and DD Mon if they are unknown (00).

Hold onto something, cause it's a big formula  :)

Released: $If($Right(<Release Date Sort>,4)=0000,<YYYY>,$If($Right($Right(<Release Date Sort>,4),2)=00,$If($Left($Right(<Release Date Sort>,4),2)=01,"Jan "<YYYY>,$If($Left($Right(<Release Date Sort>,4),2)=02,"Feb "<YYYY>,$If($Left($Right(<Release Date Sort>,4),2)=03,"Mar "<YYYY>,$If($Left($Right(<Release Date Sort>,4),2)=04,"Apr "<YYYY>,$If($Left($Right(<Release Date Sort>,4),2)=05,"May "<YYYY>,$If($Left($Right(<Release Date Sort>,4),2)=06,"Jun "<YYYY>,$If($Left($Right(<Release Date Sort>,4),2)=07,"Jul "<YYYY>,$If($Left($Right(<Release Date Sort>,4),2)=08,"Aug "<YYYY>,$If($Left($Right(<Release Date Sort>,4),2)=09,"Sep "<YYYY>,$If($Left($Right(<Release Date Sort>,4),2)=10,"Oct "<YYYY>,$If($Left($Right(<Release Date Sort>,4),2)=11,"Nov "<YYYY>,"Dec "<YYYY>))))))))))),$If($Left($Right($Right(<Release Date Sort>,4),2),1)=0,$Right($Right(<Release Date Sort>,4),1),$Right($Right(<Release Date Sort>,4),2))" "$If($Left($Right(<Release Date Sort>,4),2)=01,"Jan "<YYYY>,$If($Left($Right(<Release Date Sort>,4),2)=02,"Feb "<YYYY>,$If($Left($Right(<Release Date Sort>,4),2)=03,"Mar "<YYYY>,$If($Left($Right(<Release Date Sort>,4),2)=04,"Apr "<YYYY>,$If($Left($Right(<Release Date Sort>,4),2)=05,"May "<YYYY>,$If($Left($Right(<Release Date Sort>,4),2)=06,"Jun "<YYYY>,$If($Left($Right(<Release Date Sort>,4),2)=07,"Jul "<YYYY>,$If($Left($Right(<Release Date Sort>,4),2)=08,"Aug "<YYYY>,$If($Left($Right(<Release Date Sort>,4),2)=09,"Sep "<YYYY>,$If($Left($Right(<Release Date Sort>,4),2)=10,"Oct "<YYYY>,$If($Left($Right(<Release Date Sort>,4),2)=11,"Nov "<YYYY>,"Dec "<YYYY>)))))))))))))
MusicBee and my library - Making bee-utiful music together

theta_wave

  • Hero Member
  • *****
  • Posts: 659
Holy,

Well, luckily I had the foresight (mostly dumbluck) to store the year and date in separate fields (albeit the latter was in "month.day" format).  I finally found the function wiki page and it is relatively straightforward.

Here's mine:

ReleaseDate: $IsNull(<Date_Custom>,"Released: "<Year (yyyy)>,$If(<Date_Custom>=00.00,"Released: "<Year (yyyy)>,"Released "<Date_Custom>.<Year (yyyy)>))

That is fed into RDateFormat: $Replace(<ReleaseDate>,.,/)

Thanks for the examples though!  You certainly provided me the idea how to translate the month values into text rather than numbers.  I was about to use $split, but I might as use $left(2) and $right(2) to return the needed values.  Thanks for the help! :)

Bee-liever

  • Member
  • Hero Member
  • *****
  • Posts: 3312
  • MB Version: 3.3.6973
Well, luckily I had the foresight (mostly dumbluck) to store the year and date in separate fields (albeit the latter was in "month.day" format).

MB will save the date/month/year correctly to a tag if it's a complete date.
When tagging, I only fill in the Release Date Sort.
I have the Additional tags plugin set too auto-apply just the YYYY if missing info or DD/MM/YYYY if full date is known.
MusicBee and my library - Making bee-utiful music together

Steven

  • Administrator
  • Hero Member
  • *****
  • Posts: 28596

Bee-liever

  • Member
  • Hero Member
  • *****
  • Posts: 3312
  • MB Version: 3.3.6973
why not just use $Date(<field>,"dd MMMM yyyy")

unfortunately, when I tried that <field> has to be in date format. It also wont be recognised if it contains zeros. eg 19780500 (or even 00051978)
MusicBee and my library - Making bee-utiful music together

Bee-liever

  • Member
  • Hero Member
  • *****
  • Posts: 3312
  • MB Version: 3.3.6973
why not just use $Date(<field>,"dd MMMM yyyy")

To see what Steven was on about and the much smaller function code it achieves go here -
http://getmusicbee.com/forum/index.php?topic=17302.0
MusicBee and my library - Making bee-utiful music together