In order to fully support MusicXML this PR is a first step to add MusicXML export capabilities.
As this is a lot of work, I prefer to build this feature incrementally in several PRs than having a whole amount of code waiting until everything is finished.
With this PR lomse starts supporting MusicXML export and most Lomse supported notation is currently exported. Notably exceptions:
non-standard key signatures
grace and cue notes
lyric
pedal marks
octave-shift marks
Usage is very simple:
ADocument doc = pPresenter->get_document();
MxlExporter exporter(*lomse.get_library_scope());
std::string source = exporter.get_source( doc.first_score() );
//do whatever you like with the MusicXML source code. For instance,
//display it in the console
cout << source << endl;
You can find a simple sample program to play with at examples/other/musicxml-export.cpp.
In order to fully support MusicXML this PR is a first step to add MusicXML export capabilities.
As this is a lot of work, I prefer to build this feature incrementally in several PRs than having a whole amount of code waiting until everything is finished.
With this PR lomse starts supporting MusicXML export and most Lomse supported notation is currently exported. Notably exceptions:
Usage is very simple:
You can find a simple sample program to play with at
examples/other/musicxml-export.cpp
.