Open joeberkovitz opened 6 years ago
The first thing we need to decide is: Are the <segno/>
and <coda/>
tags directly semantic, or are they merely the elements we are using to represent these common musical symbols when they are in the middle of (or the entirety of) an instruction, since they are not ascii characters we can add to a text string?
MusicXML uses the <segno>
and <coda>
elements for visual representations of the symbols, and the <sound>
element for playback. This function might work better if we remove or reduce that duality, similar to what MNX has done in other areas.
We might want separate semantic instructions for segno, coda, D.S., D.C., jump to segno, jump to coda, forward repeat, backward repeat, endings, and fine. These semantic instructions could then contain a mix of text and musical symbols. Playback that is handled by the dacapo, dalsegno, coda, tocoda, fine, forward-repeat, and time-only attributes of the sound element could be integrated into these semantic elements.
As @clnoel suggested in #99, semantic repeat information could be moved out of the <barline>
element where the <repeat>
and <ending>
elements live, and into more general direction structures.
I have made some simple repeat use cases in MusicXML. I will try to find semantic for these and test if these definitions will work for combined cases. Expected to play: ABCBCD Expected to play: ABCBDE Expected to play:ABCBDE Expected to play:ABCBDEFEG Expected to play: ABCBDEFEGH Expected to play: ABCBDEFEGH Expected to play: ABCEFBDEF
Support all musical-form-related features in MusicXML including repeats, segnos, codas and so forth.
99 tracks the more specific issue of generalizing musical form through features such as jumps and subroutines.