Gestion de plusieurs pays de sortie

Certaines sorties, en particulier les sorties numériques, peuvent avoir une très longue liste de pays de sortie, listant parfois tous les pays du monde sauf quelques-uns où la sortie n’est pas officiellement disponible. Picard propose quelques outils pour gérer cela.

Prenons l’exemple de Bleach, de Nirvana (MusicBrainz release adab3feb-1822-4d27-a997-db7d6c9688c0).

Par défaut, Picard écrit une seule balise releasecountry dans les fichiers. Avant la v2.3.1, Picard remplissait cette balise avec ce que le serveur MusicBrainz retournait comme pays pour la sortie. S’il y avait plusieurs sorties, ce champ pays était simplement rempli avec le premier par ordre alphabétique (Afghanistan dans notre exemple). Picard v2.3.1 a introduit quelques options pour mieux gérer ce problème.

Utilisation des pays de diffusion préférés

Si vous configurez les pays de publication préférés dans « Options ‣ Metadata ‣ Preferred Releases ». Picard utilisera le premier pays de la liste des pays de diffusion préférés qui se trouve également dans la liste des événements de diffusion. Ainsi, si vous avez configuré les pays de diffusion préférés comme étant l’Europe, le Canada, l’Allemagne et le Royaume-Uni, dans notre exemple, cela signifie que la balise releasecountry sera définie sur le Canada.

Utilisation de scripts pour définir un pays différent

Picard v2.3.1 a également ajouté une nouvelle variable %_releasecountries%, qui fournit la liste complète des pays de diffusion d’une version sous la forme d’une variable à plusieurs valeurs. Vous pouvez l’utiliser pour définir différentes valeurs pour la balise releasecountry.

Par exemple, le script suivant lui attribue la valeur « [International] » s’il y a 10 pays de diffusion ou plus:

$if($gte($lenmulti(%_releasecountries%),10),$set(releasecountry,[International]))

Bien entendu, vous pouvez ajuster le nombre de pays et le texte de remplacement à votre convenance. Vous pouvez également choisir d’enregistrer la liste entière au lieu d’un seul pays dans cette balise en utilisant le script:

$setmulti(releasecountry,%_releasecountries%)

Vous préférez peut-être limiter cette liste aux premières entrées. L’exemple suivant utilise uniquement les 6 premiers pays:

$setmulti(releasecountry,$slice(%_releasecountries%,0,6))

Qu’est-ce qui manque?

Les pays sont actuellement inscrits dans les balises sous leur code pays ISO 3166-1, avec quelques valeurs spéciales ajoutées pour les pays historiques et des choses comme [Europe] ou [Worldwide]. Ces codes ne sont pas toujours facilement reconnaissables ou évidents, comme « DZ » pour l’Algérie ou « DE » pour l’Allemagne. Vous pouvez bien sûr utiliser des scripts pour les rendre plus lisibles. Par exemple, si vous voulez voir « United Kingdom » au lieu de « GB » dans cette balise, utilisez:

$if($eq(%releasecountry%,GB),$set(releasecountry,United Kingdom))

Cela peut fonctionner si vous ne traitez que quelques pays dans votre collection, ou si vous voulez simplement gérer certains cas particuliers comme l’utilisation de « Europe » au lieu de « XE », comme dans le script suivant:

$if($eq(%releasecountry%,XE),$set(releasecountry,Europe))
$if($eq(%releasecountry%,XU),$set(releasecountry,[Unknown]))
$if($eq(%releasecountry%,XW),$set(releasecountry,[Worldwide]))
$if($eq(%releasecountry%,XG),$set(releasecountry,DDR))

Une méthode plus simple serait d’utiliser la fonction $countryname() introduite dans Picard v2.7 pour convertir facilement le code en un nom lisible, comme dans les scripts suivants:

$noop( Convert only %releasecountry% )
$set(releasecountry,$countryname(%releasecountry%,yes))

$noop( List all countries by name )
$setmulti(releasecountry,$map(%_releasecountries%,$countryname(%_loop_value%,yes)))

$noop( List only the first 6 countries by name )
$setmulti(temp,$slice(%_releasecountries%,0,6))
$setmulti(releasecountry,$map(%temp%,$countryname(%_loop_value%,yes)))