bug-lilypond
[Top][All Lists]
Advanced

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

Re: Issue 665 in lilypond: Request: MusicXML backend


From: lilypond
Subject: Re: Issue 665 in lilypond: Request: MusicXML backend
Date: Thu, 18 Feb 2010 11:49:27 +0000


Comment #10 on issue 665 by reinhold.kainhofer: Request: MusicXML backend
http://code.google.com/p/lilypond/issues/detail?id=665

There have been some discussions on lilypond-devel and lilypond-user. Here is a
short excerpt from one of my mails, outlining how such a MusicXML backend
could/would be implemented:


The only problem 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.


--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings




reply via email to

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