]> git.donarmstrong.com Git - lilypond.git/blobdiff - scripts/musicxml2ly.py
In scripts/musicxml2ly.py fix a bug that caused a dynamic on the last note
[lilypond.git] / scripts / musicxml2ly.py
index 0990ff124baa00d6010ca816bb4a43690c1b4e92..7c5297b5ffb51e01211590995292ce7300733b8e 100644 (file)
@@ -229,7 +229,10 @@ def extract_score_information(tree):
         set_if_exists('encoder', ids.get_encoding_person())
         set_if_exists('encodingdescription', ids.get_encoding_description())
         set_if_exists('source', ids.get_source())
-        set_if_exists('miscellaneous', ids.get_file_description());
+
+        # <miscellaneous><miscellaneous-field name="description"> ... becomes
+        # \header { texidoc = ...
+        set_if_exists('texidoc', ids.get_file_description());
 
         # Finally, apply the required compatibility modes
         # Some applications created wrong MusicXML files, so we need to
@@ -759,6 +762,14 @@ def group_tuplets(music_list, events):
         new_list.extend(music_list[last:i1])
         seq = musicexp.SequentialMusic()
         last = i2 + 1
+
+        # At this point music_list[i1:last] encompasses all the notes of the
+        # tuplet. There might be dynamics following this range, however, which
+        # apply to the last note of the tuplet. Advance last to include them
+        # in the range.
+        while last < len(music_list) and isinstance(music_list[last], musicexp.DynamicsEvent):
+            last += 1
+
         seq.elements = music_list[i1:last]
 
         tsm.element = seq