From 6cac13f79f3c8d262426a01c5d848ddd4c4a9100 Mon Sep 17 00:00:00 2001 From: Reinhold Kainhofer Date: Fri, 22 Feb 2008 16:47:36 +0100 Subject: [PATCH] MusicXML: brackets (\startGroup and \stopGroup) need a special engraver add to Staff --- python/musicexp.py | 3 ++- scripts/musicxml2ly.py | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/python/musicexp.py b/python/musicexp.py index 739c09f70f..adce691101 100644 --- a/python/musicexp.py +++ b/python/musicexp.py @@ -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 {') diff --git a/scripts/musicxml2ly.py b/scripts/musicxml2ly.py index e13e2625ce..3c62f4600d 100644 --- a/scripts/musicxml2ly.py +++ b/scripts/musicxml2ly.py @@ -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, -- 2.39.2