diff --git a/pae2xml.pl b/pae2xml.pl index 4648fb385b29019457f7951956068126a2a71a6c..e67b4ed388f527ab8f446e8dac26c376de2954c6 100755 --- a/pae2xml.pl +++ b/pae2xml.pl @@ -288,20 +288,45 @@ sub parse_notes { $timesig = timesignature($timesig); print OUT " <attributes>\n$timesig </attributes>\n"; - } elsif ($notes =~ /^\/(.*)$/) { - $notes = $1; - if ($notes =~ /^\/(.*)$/) { - $notes = $1; - print OUT ' <barline location="right"> + } elsif ($notes =~ /^(:?\/+:?)(.*)$/) { + $barline = $1; + $notes = $2; + if ($barline =~ /^:\/\/:/) { + print OUT ' <barline location="right"> <bar-style>light-light</bar-style> - + <repeat direction="backward"/> + </barline> +'; + } elsif ($barline =~ /^:\/\/$/ ) { + print OUT ' <barline location="right"> + <bar-style>light-heavy</bar-style> + <repeat direction="backward"/> + </barline> +'; + } elsif ($barline =~ /^\/\/$/) { + print OUT ' <barline location="right"> + <bar-style>light-light</bar-style> + <repeat direction="backward"/> </barline> '; } print OUT " </measure>\n"; if ($notes ne "") { print OUT ' <measure number="'.$meas.'"> -'.$clefattr; +'; + if ($barline =~ /^\/\/:$/) { + print OUT ' <barline location="left"> + <bar-style>heavy-light</bar-style> + <repeat direction="forward"/> + </barline> +'; + } elsif ($barline =~ /^:\/\/:$/) { + print OUT ' <barline location="left"> + <repeat direction="forward"/> + </barline> +'; + } + print OUT $clefattr; $meas++; } else { $mopen = 0; diff --git a/sample_files/Barlines-basic.pae b/sample_files/Barlines-basic.pae new file mode 100644 index 0000000000000000000000000000000000000000..5fe639ac6aa2c50730d2ee11bb335151f54807dd --- /dev/null +++ b/sample_files/Barlines-basic.pae @@ -0,0 +1,7 @@ +Test Composer +Test case for barline types +1.1.1: S One repeat +plain&easy: %C-1@c$bB� '4CDE/GABG://CDEF//:GABD//FGAB://:AGFC:// + +Test Library +00000000 \ No newline at end of file