示例#1
0
def MusicXML_tree_to_MusicXML_file(tree, filename=None):
   assert ElementTree.iselement(tree)
   output_encoding = config.get("xml_encoding")
   writer = FileWriter(filename, output_encoding)
   writer.write("<?xml version='1.0' encoding='%s'?>\n" % output_encoding)
   writer.write("<!-- %s -->\n" % created)
   writer.write('<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.0 Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd">\n')

   ElementTree.ElementTree(tree).write(writer)
   if config.get("dtd"):
      validate(filename)
示例#2
0
 def convert(self, tree):
     # TODO: deal with time-wise MusicXML scores (e.g. use Michael Good's XSLT transform first)
     assert ElementTree.iselement(tree)
     builder = GuidoTreeBuilder(self._tags)
     state = self.State()
     self.make_sequences(tree, builder, state)
     return builder.score
示例#3
0
    def convert(self, score):
        assert isinstance(score, core.Score)
        score.calc_time_spines()

        self.last_ending = None

        self.root = score_partwise = ElementTree.Element("score-partwise")
        SubElement(score_partwise, "work")
        SubElement(score_partwise, "identification")

        staff_layout, barlines = self.make_plan(score)
        self.make_part_list(score_partwise, staff_layout)
        self.make_parts(score_partwise, staff_layout, barlines)
        return score_partwise
示例#4
0
def MusicXML_tree_to_Guido_tree(tree):
   assert ElementTree.iselement(tree)
   converter = MusicXMLToGuido((core, basic, advanced))
   return converter.convert(tree)
示例#5
0
def MusicXML_file_to_MusicXML_tree(file):
   if config.get("dtd") and type(file) in (StringType, UnicodeType):
      validate(file)
   tree = ElementTree.parse(file)
   return tree.getroot()
示例#6
0
def MidiXML_tree_to_MIDI_file(tree, filename=None):
    assert ElementTree.iselement(tree)
    converter = MidiXMLToMidi()
    converter.convert(tree, open(filename, "wb"))
示例#7
0
def MidiXML_tree_to_MIDI_stream(tree):
    assert ElementTree.iselement(tree)
    converter = MidiXMLToMidi()
    stream = StringIO()
    converter.convert(tree, stream)
    return stream.getvalue()
示例#8
0
def MusicXML_tree_to_MidiXML_tree(tree):
    assert ElementTree.iselement(tree)
    converter = MusicXMLToMidiXML()
    return converter.convert(tree)