class RhythmicStaff (Staff):
def __init__ (self, command = "RhythmicStaff"):
Staff.__init__ (self, command)
+
+class Score ():
+ def __init__ (self):
+ self.contents = None
+ self.create_midi = False
+
+ def set_contents (self, contents):
+ self.contents = contents
+
+ def set_part_information (self, part_id, staves_info):
+ if self.contents:
+ self.contents.set_part_information (part_id, staves_info)
+
+ def print_ly (self, printer):
+ printer.dump ("\\score {");
+ printer.newline ()
+ if self.contents:
+ self.contents.print_ly (printer);
+ printer.dump ("\\layout {}");
+ printer.newline ()
+ if not self.create_midi:
+ printer.dump ("% To create MIDI output, uncomment the following line:");
+ printer.newline ();
+ printer.dump ("% ");
+ printer.dump ("\\midi {}");
+ printer.newline ()
+ printer.dump ("}");
+ printer.newline ()
def test_pitch ():
def extract_score_structure (part_list, staffinfo):
+ score = musicexp.Score ()
structure = musicexp.StaffGroup (None)
+ score.set_contents (structure)
+
if not part_list:
return structure
return staves[0]
for i in staves:
structure.append_staff (i)
- return structure
+ return score
def musicxml_duration_to_lily (mxl_note):
parts = tree.get_typed_children (musicxml.Part)
(voices, staff_info) = get_all_voices (parts)
- score_structure = None
+ score = None
mxl_pl = tree.get_maybe_exist_typed_child (musicxml.Part_list)
if mxl_pl:
- score_structure = extract_score_structure (mxl_pl, staff_info)
+ score = extract_score_structure (mxl_pl, staff_info)
part_list = mxl_pl.get_named_children ("score-part")
# score information is contained in the <work>, <identification> or <movement-title> tags
- update_score_setup (score_structure, part_list, voices)
+ update_score_setup (score, part_list, voices)
# After the conversion, update the list of settings for the \layout block
update_layout_information ()
printer.newline ()
printer.dump ("% The score definition")
printer.newline ()
- score_structure.print_ly (printer)
+ score.print_ly (printer)
printer.newline ()
return voices