]> git.donarmstrong.com Git - lilypond.git/commitdiff
MusicXML: brackets (\startGroup and \stopGroup) need a special engraver add to Staff
authorReinhold Kainhofer <reinhold@kainhofer.com>
Fri, 22 Feb 2008 15:47:36 +0000 (16:47 +0100)
committerReinhold Kainhofer <reinhold@kainhofer.com>
Fri, 22 Feb 2008 15:47:36 +0000 (16:47 +0100)
python/musicexp.py
scripts/musicxml2ly.py

index 739c09f70fb3c2420352478848f821809393cb39..adce6911013d207cbb5042f068d3ab975ad9b0a5 100644 (file)
@@ -677,7 +677,8 @@ class Layout:
             self.context_dict[context] = []
     def set_context_item (self, context, item):
         self.add_context (context)
-        self.context_dict[context].append (item)
+        if not item in self.context_dict[context]:
+            self.context_dict[context].append (item)
     def print_ly (self, printer):
         if self.context_dict.items ():
             printer.dump ('\\layout {')
index e13e2625cee6eeae9e36cc17d05b2fc51ec5f7b1..3c62f4600d24d5afa6616f47e05fc3d637bc08c6 100644 (file)
@@ -727,10 +727,15 @@ 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' : musicexp.BracketSpannerEvent,
+    'bracket' : musicxml_bracket_to_ly,
     'glissando' : musicexp.GlissandoEvent,
     'octave-shift' : musicexp.OctaveShiftEvent,
     'pedal' : musicexp.PedalEvent,