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

theta_wave

  • Hero Member
  • *****
  • Posts: 679
Wrt to your sub-grouping post, one would have to make additional tags (i.e. <Set Subtitle>).  Since I didn't feel like adding new tags and luckily my tags are pretty good already, I felt that there should be another way.  My classical title tags are already in a "Piece: Movement" (e.g. "Symphony No.41 in C Major ("Jupiter"), K.551: IV. Allegro molto").  So, I decided to use the $split function and here are the results:

<Classical Works> [sub-grouping header]
Code
$If($Contains(<Title>,": ")="F","    —","• "$Split(<Title>,": ",1)" •")

<Movement> [Title]
Code
$If($Contains(<Title>,": ")="F",<Title>,$Split(<Title>,": ",2))

<Works> (for the column browser if one has a classical-heavy collection)
Code
$If($Contains(<Title>,": ")="F",,$Split(<Title>,": ",1))

Last Edit: January 22, 2016, 12:14:12 AM by ssri

MeeMeeMee

  • Full Member
  • ***
  • Posts: 224
You setup is very nice.
Correct me if I'm wrong, but the Piece part "should" be in a separate Set Subtitle tag. See my discussion with Bee-liever eariler in this thread.
MusicBee 3.4.8033 / Windows 10 (64-bit) / Intel i5-3470 / 8GB RAM
Media on NAS (CIFS share)
20K+ tracks, predominantly FLAC ; converted to mp3 (lame -V 0) when synced to my Cowon D2+
________________________________________________________________________________________________
Get the latest patch: https://getmusicbee.com/patches/

theta_wave

  • Hero Member
  • *****
  • Posts: 679
You setup is very nice.
Correct me if I'm wrong, but the Piece part "should" be in a separate Set Subtitle tag. See my discussion with Bee-liever eariler in this thread.
Thanks,  it "could" be in <Set Subtitle> but that tag is id3 v2.4 and isn't supported much IIRC.  MB isn't the only player I use and changing thousands of tags doesn't sound like fun*.  Also, I want to have the whole <title> show up on my devices synced to my libraries (MM or MB).  Of course, one may save "Piece" in <set subtitle> and split the title to achieve <movement>, but why add another tag if one can slice and dice the already existing <Title>?

*This is trivial with mp3tag and notepad++.  With mp3tag, export the <Title> field.  In notepad++, copy the ":" character (without quotes), use TextFX > TextFx Edit > Lineup multiple lines with clipboard character.  Then simply block copy (hold down Alt and use left click to draw and select an area to encompass either the <Title> or <Set Subtitle>), copy and paste the block in a new text file tab in NP++.  Then TextFX > TextFX Edit > Trim Trailing Spaces on both text files.  To get rid of ":" at the end of the line for <Set Subtitle>, regex Find&Replace with "^(.*).$" in Find and "\1" in Replace (without quotes for both).  Save and name the two files, go to mp3tag and use "Text File - Tag" and add the text files into their respective tag fields.  Remember to Alt+Z to undo any screwups.  Yeah, it is a quite a few steps but if one is editing thousands of files at the same time, this is one the ways to go.

psychoadept

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 10685
Yeah, it is a quite a few steps but if one is editing thousands of files at the same time, this is one the ways to go.

You can also use the Additional Tagging & Reporting Tools plugin for this kind of operation.
MusicBee Wiki
Use & improve MusicBee's documentation!

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

theta_wave

  • Hero Member
  • *****
  • Posts: 679
Yeah, it is a quite a few steps but if one is editing thousands of files at the same time, this is one the ways to go.

You can also use the Additional Tagging & Reporting Tools plugin for this kind of operation.
Unfortunately Additional Tagging and Reporting Tools is buggered for me, so I just use something that's familiar.  Plus, NP++ is pretty good at spotting corner cases.

EDIT:  Forcing Add'l Tagging and Reporting Tools to use my selected theme rendered it unusable.  Having a regex option available to users, like in Mediamonkey, is nice but I like the error checking I can do in NP++ before committing large changes.
Last Edit: January 25, 2016, 05:16:06 AM by ssri

SquidCudi

  • Newbie
  • *
  • Posts: 9
Musicbee says "The virtual tag expression cannot be parsed" when I paste in the Sub-heading formula.

theta_wave

  • Hero Member
  • *****
  • Posts: 679
Musicbee says "The virtual tag expression cannot be parsed" when I paste in the Sub-heading formula.
Which formula are you trying to use?

SquidCudi

  • Newbie
  • *
  • Posts: 9
Musicbee says "The virtual tag expression cannot be parsed" when I paste in the Sub-heading formula.
Which formula are you trying to use?

The sub-heading formula from the OP.

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

Maybe I'm missing a step or two in the process? Not sure

theta_wave

  • Hero Member
  • *****
  • Posts: 679
Did you link "Set Subtitle" to a custom tag?  When entering this formula in the virtual tag editor, try to validate it.  If it doesn't work, scroll down the field selector on the right and check to see if <Set Subtitle> is among those listed.  If not, then you will have to go back one window and create a custom tag linked to "Set Subtitle".
Last Edit: May 19, 2016, 12:30:30 AM by ssri

SquidCudi

  • Newbie
  • *
  • Posts: 9
Looks like that's the part I was missing, I didn't actually name Custom 3. Still learning, lol. Thanks for your help.

Tommy

  • Jr. Member
  • **
  • Posts: 77
Hi.

One question regarding the Sub-Grouping Header.

Is it possible to display the Disc# and having other grouping headers without showing Disc# at the beginning ?

It seems impossible for me to get this done.


Thanks in advance,
Tommy
Tommy

Bee-liever

  • Member
  • Hero Member
  • *****
  • Posts: 3776
  • MB Version: 3.5.8367 P
Sure.  Using the basic sub-header from the example;
Code: "Basic Example"
$If(<Disc Count>>1,$IsNull(<Set Subtitle>,"• Disc "<Disc#>" •","• Disc "<Disc#>" • "<Set Subtitle>" •"),$IsNull(<Set Subtitle>,,"• "<Set Subtitle>" •"))
you can make a slight change;
Code: "NEW Example"
$If(<Disc Count>>1,$IsNull(<Set Subtitle>,"• Disc "<Disc#>" •","• "<Set Subtitle>" •"),$IsNull(<Set Subtitle>,,"• "<Set Subtitle>" •"))
would make it so that if you have a multi-disc set, MB will only show <Disc#> if you have no <Set Subtitle>
MusicBee and my library - Making bee-utiful music together

Tommy

  • Jr. Member
  • **
  • Posts: 77
....... sorry for the late reply.

It's not exactly what I was looking for, but it's very nice as well and it did help me a lot.

They way I understand now is that it's impossible to have a Sub-Grouping Header without the Disc# in front for multiple CD's, is this correct ?

Anyway, thank you very much for the formula, it's very much appreciated .......

Tommy
Tommy

Bee-liever

  • Member
  • Hero Member
  • *****
  • Posts: 3776
  • MB Version: 3.5.8367 P
They way I understand now is that it's impossible to have a Sub-Grouping Header without the Disc# in front for multiple CD's, is this correct ?
No.  You can have anything you want in the virtual tag you use as a Sub-Grouping Header.
If you don't want the Disc# to show, don't use it in the formula.
MusicBee and my library - Making bee-utiful music together

wobbly

  • Sr. Member
  • ****
  • Posts: 318
i have looked  at this guide in the past but does not do a good job of explaining  how to set it up
no explanation of where to find sub-grouping header:
or that you need  to make virtual tags
could this  guide please be up dated to give some new info for new uses that might not understand what's going on here

step by  step
instructions  are the best