From 2580f4fcff13ddad007be2afd6ddf6e2afc34f2b Mon Sep 17 00:00:00 2001 From: Hugo Villeneuve Date: Mon, 6 Dec 2021 22:11:17 -0500 Subject: [PATCH] Ajout option pour paroles en majuscules --- gtx2tex.pl | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/gtx2tex.pl b/gtx2tex.pl index adb82aa..02300f6 100644 --- a/gtx2tex.pl +++ b/gtx2tex.pl @@ -8,6 +8,7 @@ GetOptions( "output=s" => \$output, "lyrics" => \$lyrics, "verbose" => \$verbose, "italian" => \$italian, + "uppercase" => \$uppercase, ); $usage = "This is gtx2tex 2.8 @@ -18,7 +19,8 @@ options: --output=ps|pdf specify the output format; without the output option a tex file is created --italian changes chord output to italian notation - (La, Si, Do, Re, Mi, Fa, Sol)"; + (La, Si, Do, Re, Mi, Fa, Sol) +--uppercase make all lyrics uppercase"; if ( ! $ARGV[0] ){ die "$usage\n"; @@ -172,6 +174,10 @@ sub crdpro { # Bearbeitung der Zeile aus der Eingabedatei print TEX "$_\\\\\n" unless ( /^\s*$/ ); } else { + if ( $uppercase ) { + $_ = uc($_); # Toutes les lettres en majuscule. + } + s/\s/$space/g; # Remplace une séquence de plusieurs espaces par un seul s/(\^)(.*?)(\])/\\\(^\{\2\}\\\)\]/g; # Ziffern hochstellen / Place les chiffres en haut? @@ -184,6 +190,36 @@ sub crdpro { # Bearbeitung der Zeile aus der Eingabedatei s/^/\\gtxchord\{\}\{/ } + if ( $uppercase ) { + s/(gtxchord\{[A-G][B#]?)MAJ7/\1$majeur_sept/g; # Remplace 'gtxchord{AM' par 'gtxchord{Am' + + # On recherche le nom de l'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é + # On recherche le nom de l'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 mineurs + s/(gtxchord\{[A-G][B#]?)M7/\1$mineur7/g; + s/(gtxchord\{[A-G][B#]?)M/\1$mineur/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; + + s/(gtxchord\{[A-G])B/\1b/g; # Remplace 'gtxchord{AB' par 'gtxchord{Ab' + s/(\/[A-G])B/\1b/g; # Remplace '/AB' par '/Ab' + } + s/#/$sharp/g; # Remplace le symbole '#' par le symbole diese s/\{Ab/{A$flat/g; # Remplace le 'b' de l'accord par le symbole bemol s/\{Bb/{B$flat/g; -- 2.20.1