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 {')
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,