Instruções condicionais na sintaxe de ordenação foobar2000

1

Meus arquivos de música são marcados com algumas tags personalizadas, que, por algum motivo, não são totalmente padronizadas. Isto é provavelmente devido a alguma peculiaridade com a minha configuração do MusicBrainz Picard , mas isso não vem ao caso.

De qualquer forma, ao classificar por tags que deveriam ser equivalentes, gostaria que cada faixa fosse classificada pela única tag que ela realmente tem. Minha abordagem é:

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

O que parece acontecer é que o tipo simplesmente ignora as condições e lê os campos da tag (incluindo os parâmetros) como se não houvesse $if3() .

Uma segunda abordagem é escrever meus próprios remapings de campo. De acordo com este guia , o campo %artist% é realmente curto para

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

Se eu pudesse definir meus próprios mapeamentos como esse, isso resolveria meu problema. Isso é possível ou o que mais posso fazer?

    
por August Janse 28.01.2015 / 18:07

1 resposta

0

Na verdade, as instruções condicionais funcionam muito bem em sequências de classificação. No entanto, $if3() deve ter seus argumentos separados por vírgulas e nada mais. Usando espaços causou vários problemas confusos. Uma sequência de classificação de trabalho é:

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

Esta é a mesma string que a da pergunta, com sintaxe apropriada. Ele também usa %artistsortorder% e %album artist% como campos de fallback para os quais não há um artista de álbuns classificado.

    
por 09.08.2015 / 23:51