if ( $uppercase ) {
$_ = uc($_); # Toutes les lettres en majuscule (incluant les accords).
}
+ else {
+ # Seulement les accords en majuscule
+ # .*? -> shortest match (non-greedy)
+ $_ =~ s/(\[.*?\])/${\(uc $1)}/g;
+ }
s/\s/$space/g; # Remplace une séquence de plusieurs espaces par un seul
s/(\^)(.*?)(\])/\\\(^\{\2\}\\\)\]/g; # Place le texte suivant '^' en exposant
$verbose && print " Étape1: $_\n";
- if ( $uppercase ) {
- # Accord Majeur7
- s/(gtxchord\{[A-G][B#]?)MAJ7/\1$majeur_sept/g;
+ # Accord Majeur7
+ s/(gtxchord\{[A-G][B#]?)MAJ7/\1$majeur_sept/g;
- # Accord suivi d'un bémol ou dièse optionel, suivi de 'sus' + 1 chiffre.
- s/(gtxchord\{[A-G][B#]?[0-9]?)SUS([0-9]+)/\1\$^{sus\2}\$/g;
+ # Accord suivi d'un bémol ou dièse optionel, suivi de 'sus' + 1 chiffre.
+ s/(gtxchord\{[A-G][B#]?[0-9]?)SUS([0-9]+)/\1\$^{sus\2}\$/g;
- # Accord demi-diminué
- # Accord, suivi d'un bémol ou dièse optionel, suivi de 'm7b5'.
- s/(gtxchord\{[A-G][B#]?)M7B5/\1$half_diminished/g;
+ # Accord demi-diminué
+ # Accord, suivi d'un bémol ou dièse optionel, suivi de 'm7b5'.
+ s/(gtxchord\{[A-G][B#]?)M7B5/\1$half_diminished/g;
- # Accords diminués
- # On recherche le nom de l'accord, suivi d'un bémol ou dièse optionel, suivi de 'mb5'.
- s/(gtxchord\{[A-G][B#]?)MB5/\1$diminished/g;
- s/(gtxchord\{[A-G][B#]?)DIM7/\1$diminished7/g;
- s/(gtxchord\{[A-G][B#]?)DIM/\1$diminished/g;
+ # Accords diminués
+ # On recherche le nom de l'accord, suivi d'un bémol ou dièse optionel, suivi de 'mb5'.
+ s/(gtxchord\{[A-G][B#]?)MB5/\1$diminished/g;
+ s/(gtxchord\{[A-G][B#]?)DIM7/\1$diminished7/g;
+ s/(gtxchord\{[A-G][B#]?)DIM/\1$diminished/g;
- # Accords mineurs
- s/(gtxchord\{[A-G][B#]?)M7/\1$mineur7/g;
- s/(gtxchord\{[A-G][B#]?)M/\1$mineur/g;
+ # Accords mineurs
+ s/(gtxchord\{[A-G][B#]?)M7/\1$mineur7/g; # Cm7
+ s/(gtxchord\{[A-G][B#]?)M([0-9]+)/\1$mineur\$^{\2}\$/g; # Cm13
+ s/(gtxchord\{[A-G][B#]?)M/\1$mineur/g; # Cm (doit être en dernier)
- # Accord A7b5
- s/(gtxchord\{[A-G][B#]?)([0-9])B([0-9])/\1\$^{\2\\flat\3}\$/g;
+ # Accord A7b5
+ s/(gtxchord\{[A-G][B#]?)([0-9])B([0-9])/\1\$^{\2\\flat\3}\$/g;
- # Accord A7 ou A6 ou Ab6
- s/(gtxchord\{[A-G][B#]?)([0-9]?)/\1\$^{\2}\$/g;
+ # Accord A7 ou A6 ou Ab6
+ s/(gtxchord\{[A-G][B#]?)([0-9]?)/\1\$^{\2}\$/g;
- s/(gtxchord\{[A-G])B/\1b/g; # Remplace 'gtxchord{AB' par 'gtxchord{Ab'
- s/(\/[A-G])B/\1b/g; # Remplace '/AB' par '/Ab'
- }
+ s/(gtxchord\{[A-G])B/\1$flat/g; # Remplace 'gtxchord{AB' par 'gtxchord{Ab'
+
+ s/(\/[A-G])B/\1$flat/g; # Remplace '/AB' par '/Ab'
s/#/$sharp/g; # Remplace le symbole '#' par le symbole diese
- s/b/$flat/g; # Remplace le 'b' dans l'accord par le symbole bemol
if ( $italian ) {
s/gtxchord\{D/gtxchord{Re/g;