Post by Martin TarenskeenEveryone will agree having not only musicxml2ly but also a Lilypond to
MusicXML converter would be cool.
Absolutely. The only problem is who will develop it? I don't have the time for
such a task, but rather create some more Urtext editions for my soon-to-be
founded music publishing house.
Post by Martin TarenskeenCould this also be true for Lilypond ? Would it be better/easier to have a
--musicxml output option ( just like --png --ps and --pdf ) instead of a
separate application that has to be written from scratch ?
Absolutely. If you want to write a separate ly->MusicXML application,you
basically have to duplicate how lilypond works.
Post by Martin TarenskeenMaybe then the
conversion can re-use some of the lilypond parsing code that is already
available ?
Of course. The only proble is that the lilypond structure is not ideally
suited for full MusicXML 2.0 export:
All other graphical output formats (eps, ps, pdf, png, svg) simply export some
graphical objects with a fixed position on a page, so at that stage the musical
information is no longer available, so MusicXML export has to hook in earlier.
The pure musical structure can probably be easily extracted from the music
stream (e.g. by an engraver, listening to all kinds of events), but at that
stage the page layout has not been done, so the great layout of lilypond
scores could not be exported directly.
On the other hand, the final graphical objects don't have any link to the music
object that caused them, so one would also have to add such a link to the
grobs.
The MusicXML export would then work in two stages in a lilypond run:
1) In an engraver create the xml tree for the pure musical content
2) at the same time, also listen to created graphical objects and add a
pointer to the corresponding xml node
3) After the layout is done, a MusicXML backend goes through the graphical
object and exports all positioning information (most of which is new in
MusicXML 2.0) to their linked xml nodes.
However, there is also a practical problem: How do you check the quality of
your export? There are so many things inthe MusicXML "specification" that are
left unclear, and the typical advice on the MusicXML mailing list is "Just
check what Finale does"... Unfortunately, the company behind Finale is not
interested at all in MusicXML functionality in lilypond (when I started
wokring on musicxml2ly, I asked them for a copy of finale or so, but their
response was that they are not interested and that I could buy a copy of finale
at their homepage). So, if you want to do serious work on MusicXML, you'll
have to buy a copy of finale for several hundred $$$ (well, Michael Good
suggested to buy one of the stripped-down version for "only" 100$ ......
However, these versions don't support MusicXML 2.0, so they don t really
help).
Cheers,
Reinhold
--
------------------------------------------------------------------
Reinhold Kainhofer, Vienna University of Technology, Austria
email: ***@kainhofer.com, http://reinhold.kainhofer.com/
* Financial and Actuarial Mathematics, TU Wien, http://www.fam.tuwien.ac.at/
* Edition Kainhofer Music Publishing, http://www.edition-kainhofer.com/
* LilyPond music typesetting software, http://www.lilypond.org/