lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Google Summer of Code


From: Wilbert Berendsen
Subject: Re: Google Summer of Code
Date: Fri, 13 Feb 2015 16:54:31 +0100

Op Sun, 08 Feb 2015 17:26:45 +0100
Urs Liska <address@hidden> schreef:

>   * MusicXML should definitely be considered in the context of actual
>     development taking place in the Frescobaldi context. At least it
>     should be harmonized with that effort. And: same question as 
>     above: Are Reinhold Kainhofer and Mike Solomon actually available
>     as mentors?


I am not sure if the MusicXML effort such as implemented by Python-ly
(and used in Frescobaldi) really can compete with an in-LilyPond
solution.

Frescobaldi (and also the ly command provided by the python-ly[1]
package), currently understands LilyPond music (i.e. music written in
LilyPond syntax, not built by Scheme functions) and is able to export
that to MusicXML.

[1] https://github.com/wbsoft/python-ly

We do this by having our own LilyPond parser (that also powers the
syntax highlighting in Frescobaldi) and building a tree-structured music
expression from it and Peter Bjuhr added code to build a MusicXML
document from that music structure, which works quite well.

We are extending this to a route where LilyPond itself parses the file
and builds the score, music expressions etc, and converts this to a
"LilyXML" document[2]. We can then read the XML in a python module and
convert it to MusicXML. But we still only use the music input
expression, not any output of the layout and engraving process. This is
in development.

[2]
https://github.com/wbsoft/python-ly/blob/master/ly/xml/xml-export.ily
see also
http://python-ly.readthedocs.org/en/latest/ly.xml.html#the-xml-export-ily-file


However, the effort described on the LilyPond Google Summer of Code page
goes much further: it not only builds the basic XML document but also
adds the layout information created by the engraving process, which is
much more advanced, as it takes advantage of LilyPond's excellent
layout.

So I think people should not hesitate to build an excellent MusicXML
exporting function in Lilypond, as the python-ly/Frescobaldi effort
will not be able to use the layout information from LilyPond, but just
the music (like the Midi output, but in a more advanced way of course)

Wilbert

-- 
Wilbert Berendsen
(http://www.wilbertberendsen.nl)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]