]> git.donarmstrong.com Git - lilypond.git/commitdiff
MusicXML: Convert brackets as ligature brackets
authorReinhold Kainhofer <reinhold@kainhofer.com>
Mon, 24 Mar 2008 19:16:02 +0000 (20:16 +0100)
committerReinhold Kainhofer <reinhold@kainhofer.com>
Mon, 24 Mar 2008 19:16:02 +0000 (20:16 +0100)
python/musicexp.py
scripts/musicxml2ly.py

index 862b5d8c4f70f5148c0a5b1899588b1859014c59..2ae8a6784f3ea480f3343d6539323fd79ec706d0 100644 (file)
@@ -859,9 +859,17 @@ class TextSpannerEvent (SpanEvent):
             1:'\\stopTextSpan'}.get (self.span_direction, '')
 
 class BracketSpannerEvent (SpanEvent):
+    # Ligature brackets use prefix-notation!!!
+    def print_before_note (self, printer):
+        if self.span_direction == -1:
+            printer.dump ('\[')
+    # the the bracket after the last note
+    def print_after_note (self, printer):
+        if self.span_direction == 1:
+            printer.dump ('\]')
+    # we're printing everything in print_(before|after)_note...
     def ly_expression (self):
-        return {-1: '\\startGroup',
-            1:'\\stopGroup'}.get (self.span_direction, '')
+        return '';
 
 
 class OctaveShiftEvent (SpanEvent):
index f808a8325b5a67655ac0cd3ffce223258a332150..622cba2e8b41b78dcb55707bd901119660ebea2e 100644 (file)
@@ -727,15 +727,10 @@ def musicxml_barline_to_lily (barline):
 
     return retval.values ()
 
-# Brackets need a special engraver added the Staff context!
-def musicxml_bracket_to_ly ():
-    layout_information.set_context_item ('Staff', '\consists "Horizontal_bracket_engraver"  % for \\startGroup and \\stopGroup brackets')
-    return musicexp.BracketSpannerEvent ()
-
 spanner_event_dict = {
     'beam' : musicexp.BeamEvent,
     'dashes' : musicexp.TextSpannerEvent,
-    'bracket' : musicxml_bracket_to_ly,
+    'bracket' : musicexp.BracketSpannerEvent,
     'glissando' : musicexp.GlissandoEvent,
     'octave-shift' : musicexp.OctaveShiftEvent,
     'pedal' : musicexp.PedalEvent,