From 74a638945b69f5d9083c698063bfbc60a6aa7a93 Mon Sep 17 00:00:00 2001 From: Reinhold Kainhofer Date: Sat, 17 Jul 2010 19:26:40 +0200 Subject: [PATCH] Fix trills and fermatas (trill indicator allowed/required outside the fermata parentheses...) --- pae2xml.pl | 10 +++++----- sample_files/Articulations.pae | 7 +++++++ 2 files changed, 12 insertions(+), 5 deletions(-) create mode 100644 sample_files/Articulations.pae diff --git a/pae2xml.pl b/pae2xml.pl index eaec39e..35dbf61 100755 --- a/pae2xml.pl +++ b/pae2xml.pl @@ -296,7 +296,7 @@ sub parse_notes { } elsif ($notes =~ /^((\,|\')*(x|xx|b|bb|n)?\d*\.*(g|q)?(\-|A|B|C|D|E|F|G)t?\+?)(.*)$/) { # a note ($note, $notes) = ($1,$6); parse_note($note, $keysig, "", "", $qq); - } elsif ($notes =~ /^(\((\,|\')*(x|xx|b|bb|n)?\d*\.*(g|q)?(\-|A|B|C|D|E|F|G)t?\+?\))(.*)$/) { # one note with a fermata + } elsif ($notes =~ /^(\((\,|\')*(x|xx|b|bb|n)?\d*\.*(g|q)?(\-|A|B|C|D|E|F|G)[t\+]*\)[t\+]*)(.*)$/) { # one note with a fermata ($note, $notes) = ($1,$6); parse_note($note, $keysig, "", "", $qq); } elsif ($notes =~ /^(\(((\,|\')*(x|xx|b|bb|n)?\d*\.*(g|q)?(\-|A|B|C|D|E|F|G)t?\+?){3}\))(.*)$/) { # a triplet @@ -456,8 +456,8 @@ sub parse_note { ($actualnotes, $normalnotes) = ($1, $2); } - if ($note =~ /^\((.*)\)$/) { - $note = $1; + if ($note =~ /^\((.*)\)(.*)$/) { + $note = "$1$2"; $fermata = 1; } @@ -522,8 +522,8 @@ sub parse_note { print OUT $tienotation; } if ($fermata) { - print OUT ' - '."\n"; } + print OUT " \n"; + } if ($trill eq "t") { print OUT ' diff --git a/sample_files/Articulations.pae b/sample_files/Articulations.pae new file mode 100644 index 0000000..d546995 --- /dev/null +++ b/sample_files/Articulations.pae @@ -0,0 +1,7 @@ +Test Composer +Test case for articulations +1.1.1: S articulations +plain&easy: %G-2@c$ΓΌ '4CCt(D)8(E)(F)t/ + +Test Library +00000000 \ No newline at end of file -- 2.11.4.GIT