Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Handling vinyl sides in tracknumber tags.
08-07-2018, 02:18
Post: #1
Information Handling vinyl sides in tracknumber tags.
On recommendation of bubbleguuum, who is no longer maintaining foo_upnp, I'm checking out MinimServer atm. It seems like a powerful and well-maintained piece of software, and focused on music for once. Hurray! But, I've come across what looks like a decision that doesn't make a lot of sense to me.

On my vinyl rips as is convention I like to include the side in the tracknumber, both on the file and in the tag itself (e.g. A1,A2,A3;B1,B2,B3 and so on). Looks like MinimServer upon encountering anything other than numbers or slashes simply refuses to evaluate these tags or consider them when sorting, as it considers them invalid. This leads to albums being sorted by title rather than the actual track order Sad

There appears to be an easy way to get around this right now, but only for the folder view: creating an alias for tracknumber (mine was Tkn); adding that alias to itemTags, and then adding "folder.sortTags={Tkn}" to tagOptions. (Initially I had written a long, very un-DRY tagChanges.txt that replaced each letter with a corresponding number (e.g. A=10, B=20), and while this did in fact change the tracknumbers, that doesn't actually change the sort order without the additional tagOptions bit above, and turned out to have been ultimately unnecessary in order to get MinimServer to sort on these kinds of tracknames.)

While this basically works, it is limited to working in folder view (which is all I really need, for now, but somehow I doubt this is the case for everyone using this), and my suspicion is that the fact that it only works when the tracknumber is aliased might mean that it is not intended for this to be possible. It seems to me, though, that there is little reason why sorting tracknames of this type should not be the default behavior. There do not seem to be any technical barriers to this. That the ID3 spec outlaws them doesn't mean they cannot still be read and evaluated if encountered - maybe whilst a warning is output (which I did not encounter for these files, even in verbose mode) about an invalid tag. Moreover, in any case, most vinyl rips will be in FLAC, and there is nothing in the Vorbis Comment spec that says that it need be limited to the use of numbers, just that it, uh, be a tracknumber:

Quote:TRACKNUMBER
The track number of this piece if part of a specific larger collection or album

I could retag my vinyl rips, but I kind of like the novelty of knowing which side a given song was on being explicitly indicated when I play these back in foobar2000 (which sorts them just fine), and I suspect that I'm not the only one. (I'm considering putting in a 'Title.displayFormat={$tkn^^. ^$title}' under tagFormat so this information can show up when playing back on my receivers, which is of course not something I was able to do before - very neat. Limited screen real estate though, so I dunno if I'll go through with it.) I also like the symmetry of the filename (inc. the tracknumber) and the tracknumber tag matching up with each other. So, do you think you'll consider changing this behavior? It would really be much appreciated. Either way, thanks for listening Smile
Find all posts by this user
Quote this message in a reply
08-07-2018, 06:48
Post: #2
RE: Handling vinyl sides in tracknumber tags.
One option is to split the album into two sub-discs as if it were a multi-disc album, then label them with the DiscSubtitle field as “side 1” and “side 2”.
Find all posts by this user
Quote this message in a reply
08-07-2018, 08:11
Post: #3
RE: Handling vinyl sides in tracknumber tags.
The UPnP ContentDirectory specification defines the originalTrackNumber property as an integer and this is why MinimServer requires an integer value in the TRACKNUMBER tag.

You should be able do what you want without changing your tagging scheme by doing the following:

1) Create a tagchanges.txt file containing the following:
@TRACKNUMBER=A1
+TRACKNUM=101
@TRACKNUMBER=B1
+TRACKNUM=201
etc.

2) Add tracknum and tkn to itemTags

3) In aliasTags, add Tracknumber:tkn

4) In tagValue, add Tracknumber.default={tracknum, tkn}

5) To see the A/B-style track number in the track title, add Title.displayFormat={$tkn^^. ^$title} to tagFormat
Find all posts by this user
Quote this message in a reply
08-07-2018, 19:00
Post: #4
RE: Handling vinyl sides in tracknumber tags.
(08-07-2018 08:11)simoncn Wrote:  The UPnP ContentDirectory specification defines the originalTrackNumber property as an integer and this is why MinimServer requires an integer value in the TRACKNUMBER tag.

You should be able do what you want without changing your tagging scheme by doing the following:

1) Create a tagchanges.txt file containing the following:
@TRACKNUMBER=A1
+TRACKNUM=101
@TRACKNUMBER=B1
+TRACKNUM=201
etc.

2) Add tracknum and tkn to itemTags

3) In aliasTags, add Tracknumber:tkn

4) In tagValue, add Tracknumber.default={tracknum, tkn}

5) To see the A/B-style track number in the track title, add Title.displayFormat={$tkn^^. ^$title} to tagFormat

Thanks Simon, that did the trick! I still think this behavior should be baked in rather than customized, but understand why it isn't, and am glad the software is customizable enough for this to be possible.

Can you take a moment explain why 4) works though? The docs for the .default option say

Quote:If the target tag isn't present in the audio file, the first source tag name that is present in the file (if any) is used to provide the values for the target tag.

So in this case, are invalid tags treated as if they are not present in the audiofile?
Find all posts by this user
Quote this message in a reply
08-07-2018, 21:26 (This post was last modified: 08-07-2018 21:27 by simoncn.)
Post: #5
RE: Handling vinyl sides in tracknumber tags.
In this scenario, there are no invalid tags.

1) adds TRACKNUM tags (for A/B values only) in addition to TRACKNUMBER tags

3) replaces all TRACKNUMBER tags with TKN tags, so now we have a mixture of TKN and TRACKNUM tags. These tags don't have any value checking, so they can't be invalid.

4) creates TRACKNUMBER tags with a TRACKNUM value if present (the A/B case only) or a TKN value (all other cases). All these values are integers, so nothing is invalid.
Find all posts by this user
Quote this message in a reply
08-07-2018, 21:45
Post: #6
RE: Handling vinyl sides in tracknumber tags.
(08-07-2018 21:26)simoncn Wrote:  In this scenario, there are no invalid tags.

1) adds TRACKNUM tags (for A/B values only) in addition to TRACKNUMBER tags

3) replaces all TRACKNUMBER tags with TKN tags, so now we have a mixture of TKN and TRACKNUM tags. These tags don't have any value checking, so they can't be invalid.

4) creates TRACKNUMBER tags with a TRACKNUM value if present (the A/B case only) or a TKN value (all other cases). All these values are integers, so nothing is invalid.

So does this mean that 3) annihilates the original Tracknumber tag, and reassign its contents to the Tkn tag? Otherwise I don't know why 4) gets triggered, if indeed it is only supposed to get triggered 'if the target tag isn't present in the audio file'.
Find all posts by this user
Quote this message in a reply
08-07-2018, 22:00
Post: #7
RE: Handling vinyl sides in tracknumber tags.
(08-07-2018 21:45)LastSilmaril Wrote:  So does this mean that 3) annihilates the original Tracknumber tag, and reassign its contents to the Tkn tag? Otherwise I don't know why 4) gets triggered, if indeed it is only supposed to get triggered 'if the target tag isn't present in the audio file'.

Indeed so. See this section (second paragraph).
Find all posts by this user
Quote this message in a reply
08-07-2018, 22:24
Post: #8
RE: Handling vinyl sides in tracknumber tags.
(08-07-2018 22:00)simoncn Wrote:  Indeed so. See this section (second paragraph).

Aha, gotcha, makes sense. Thanks again!
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)