summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorJohn Gourlay <john@weathervanefarm.net>2016-06-23 15:49:25 -0400
committerJohn Gourlay <john@weathervanefarm.net>2016-07-07 13:31:50 -0400
commit15115dd5c9b20b7fe6b1ee4f09f52a2c7c9bbe93 (patch)
tree4b1657650bf99bcbb8e4f291f1c83d4f985ef0d3 /python
parent22799b630629f695044ea6e5ee0c79b429e962f3 (diff)
Reimplement issue 4781 for musicxml2ly more literally. Reimplementation
was necessary as part of the implementation of issue 4751, but some of the code changes for 4781 were omitted. This reproduces all the 4781 changes.
Diffstat (limited to 'python')
-rw-r--r--python/musicxml.py21
1 files changed, 8 insertions, 13 deletions
diff --git a/python/musicxml.py b/python/musicxml.py
index f0b82f1333..ae5ca80a59 100644
--- a/python/musicxml.py
+++ b/python/musicxml.py
@@ -145,11 +145,11 @@ class Music_xml_spanner(Music_xml_node):
class Measure_element(Music_xml_node):
def get_voice_id(self):
- voice_id = self.get_maybe_exist_named_child('voice')
- if voice_id:
- return voice_id.get_text()
+ voice = self.get_maybe_exist_named_child('voice')
+ if voice:
+ return voice.get_text()
else:
- return None
+ return self.voice_id
def is_first(self):
# Look at all measure elements(previously we had self.__class__, which
@@ -1558,15 +1558,10 @@ class Part(Music_xml_node):
continue
if isinstance(n, Direction):
- staff_id = n.get_maybe_exist_named_child(u'staff')
- if staff_id:
- staff_id = staff_id.get_text()
- if staff_id:
- dir_voices = staff_to_voice_dict.get(staff_id, voices.keys())
+ if (n.voice_id):
+ voices[n.voice_id].add_element (n)
else:
- dir_voices = voices.keys()
- for v in dir_voices:
- voices[v].add_element(n)
+ assign_to_next_note.append (n)
continue
if isinstance(n, Harmony) or isinstance(n, FiguredBass):
@@ -1635,7 +1630,7 @@ class Dashes(Music_xml_spanner):
class DirType(Music_xml_node):
pass
-class Direction(Music_xml_node):
+class Direction(Measure_element):
pass
class Dot(Music_xml_node):