Urs Liska wrote
What you describe about the "Frescobaldi" approach is true, at least
that's where this approach is coming from. However, we are discussing
the other one too, because it would of course be very helpful to have as
much as possible done _within_ LilyPond. So this is not necessarily an
antagonism. By contrast, if someone were working (e.g. through GSoC) on
a way to represent LilyPond as XML the Guile way that would be very
interesting also for "third-party" development.
Ok, thanks for clarifying. I didn't mean to suggest an antagonism. So it
seems to me that a good approach for exporting would be:
1. In LilyPond use Scheme to convert the internal Scheme music data
structure into an SXML version of this same data structure, call it
"LilySXML".
2. Provide an option to output that LilySXML as XML ("LilyXML"). This can
then be used by 3rd parties like Frescobaldi etc. Use the SXML Guile module
to do the conversion from SXML to XML.
3. Use the SXML Guile module to convert the LilySXML to an SXML version of
MusicXML and/or MEI. Then convert that to actual (XML) MusicXML/MEI.
For importing, there's David K's suggestion, as I understand it:
Use the SXML Guile module to go from MusicXML/MEI data files to SXML
versions of this data and then convert from that SXML to the internal data
structure with Scheme. This bypasses LilyPond's input text format.