Bedingungsanweisungen in der Sortiersyntax von foobar2000

1146
August Janse

Meine Musikdateien sind mit einigen benutzerdefinierten Tags versehen, die aus irgendeinem Grund nicht vollständig standardisiert sind. Dies ist wahrscheinlich auf eine gewisse Besonderheit in meinem MusicBrainz Picard- Setup zurückzuführen, aber das ist nicht so wichtig.

Beim Sortieren nach Tags, die gleichwertig sein sollten, möchte ich jedoch, dass jeder Track nach dem Tag sortiert wird, den er tatsächlich hat. Mein Ansatz ist:

$if3(%albumartistsortorder%, %albumartistsort%) $if3(%original release date%, %date%) %album% %disc% %track% 

Stattdessen scheint es so zu sein, dass die Sortierung die Bedingungen einfach ignoriert und die Tag-Felder (einschließlich der Parameter) so liest, als ob keine $if3()vorhanden wären .

Ein zweiter Ansatz besteht darin, meine eigenen Feld-Neuzuordnungen zu schreiben. Laut diesem Leitfaden ist das %artist%Feld eigentlich kurz für

$if3($meta(artist),$meta(album artist),$meta(composer),$meta(performer)) 

Wenn ich meine eigenen Zuordnungen so definieren könnte, würde dies mein Problem lösen. Ist das möglich oder was kann ich noch tun?

1

1 Antwort auf die Frage

0
August Janse

Tatsächlich funktionieren bedingte Anweisungen gut in Sortierfolgen. Die $if3()Argumente sollten jedoch durch Kommas getrennt werden und sonst nichts. Die Verwendung von Leerzeichen verursachte verschiedene verwirrende Probleme. Eine funktionierende Sortierfolge lautet:

$if3(%albumartistsortorder%,%albumartistsort%,%artistsortorder%,%album artist%) $if3(%original release date%,%date%) %album% %disc% %track% 

Dies ist die gleiche Zeichenfolge wie in der Frage mit der richtigen Syntax. Es verwendet auch %artistsortorder%und %album artist%als Fallback-Felder, wo kein sortierter Albumkünstler vorhanden ist.