Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: foobar2000: album list not case sensitive (Read 1076 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

foobar2000: album list not case sensitive

Hello,
I listen to classical music mostly. In mp3tag I created a tag "catalogue" which keeps the cataloge number of compositions of certain composers (BWV... for JS Bach for example). Some of these catalogues are case sensitive: For Telemann it makes a difference between for example "TWV 43:g2" and "TWV 43:G2".
foobar's album list does not reflect this but lists both under the same catalogue entry, randomly using upper or lower case.
The view is defined as follows:
%composer%|%catalogue%|%album% '['%conductor%']' '['%mediatype%-%discnumber%']'|[%tracknumber%. ]%title%

Is there any way to get it case sensitive?

(foobar2000 1.4.1; Windows 10 prof)

Regards
Mike



Re: foobar2000: album list not case sensitive

Reply #1
I have an "ugly" solution, which extends the display of each catalogue number with small whitespace. This method works nicer for tree nodes that contain spaces, which can be replaced (like Artist▯-▯Album). Characters 8201, 8198 are small spacing symbols, maybe others work better with your font and can be found in Character Map. For me, only two symbols work in Album List (three in main display). Shortcomings: long code, uppercase/lowercase is sorted randomly, needs a space in the field. Advantage: can make unique sorting from arbitrary fields (mastering, pressing date, etc.).

Code: [Select]
$puts(crc,$crc32(%catalogue%))$puts(crt,$replace($select($add($mod($div($get(crc),16),16),1),0000,0001,0010,0011,0100,0101,0110,0111,1000,1001,1010,1011,1100,1101,1110,1111)$select($add($mod($get(crc),16),1),0000,0001,0010,0011,0100,0101,0110,0111,1000,1001,1010,1011,1100,1101,1110,1111),0,$char(8201),1,$char(8198)))%composer%|$replace(%catalogue%, ,$left($get(crt),4))$right($get(crt),4)|%album% '['%conductor%']' '['%mediatype%-%discnumber%']'|[%tracknumber%. ]%title%

Alternatively, edit your tags to make the catalogue numbers literally different.

It would be nice if some codes could be inserted that were truly invisible (like color codes in old Foobar), or if we had a display pattern and a second (invisible) sort pattern.

Re: foobar2000: album list not case sensitive

Reply #2
You could also switch to something like Facets which is case-sensitive and arguably much better in terms of functionality and layout if you are serious about tagging. You could also test if other library viewers are case-sensitive and use those.

But if you really want to go down the rabbit hole that is making the default album list case-sensitive, you can try inserting a zero-width whitespace character in front of all the lowercase letters to force-sort them. Something like:
Code: [Select]
$replace(%catalogue%,a,'​'a,b,'​'b,c,'​'c)

I'll leave you the "satisfaction" of finishing the code with every lowercase letter in the alphabet.

It would be nice if some codes could be inserted that were truly invisible (like color codes in old Foobar), or if we had a display pattern and a second (invisible) sort pattern.
https://en.wikipedia.org/wiki/Zero-width_space

Re: foobar2000: album list not case sensitive

Reply #3
On my computer, Zero-width space shows as a box with most screen fonts, and is quite wide with Adobe "Pro" postscript fonts. It can be used with Segoe UI, which wouldn't be my choice as I dislike cleartype.

The pair $char(8203) $char(65279) can indeed be used to get invisible output with Segoe UI.

Code: [Select]
$puts(crc,$crc32(%catalogue%))$puts(crt,$replace($select($add($mod($div($get(crc),256),16),1),0000,0001,0010,0011,0100,0101,0110,0111,1000,1001,1010,1011,1100,1101,1110,1111)$select($add($mod($div($get(crc),16),16),1),0000,0001,0010,0011,0100,0101,0110,0111,1000,1001,1010,1011,1100,1101,1110,1111)$select($add($mod($get(crc),16),1),0000,0001,0010,0011,0100,0101,0110,0111,1000,1001,1010,1011,1100,1101,1110,1111),0,$char(8203),1,$char(65279)))%composer%|%catalogue%$get(crt)|%album% '['%conductor%']' '['%mediatype%-%discnumber%']'|[%tracknumber%. ]%title%

Re: foobar2000: album list not case sensitive

Reply #4
Interesting, I ran through my fonts both in a fresh DUI install and my usual setup (CUI), but I'm having trouble finding any that has problems displaying the characters.

What OS are you using? Any specific regional settings? Microsoft somewhat recently broke rendering of characters in Windows 10 (they show up as boxes), but I'm guessing you would have noticed that right away.

Anyone else with this problem?

 

Re: foobar2000: album list not case sensitive

Reply #5
Thank you all for your efforts.
I just installed Facets. It sorts case sensitive. For me it seems to look like a solution. But I wonder why Facets can do such a (simple?) thing and foobar's album list doesn't.