Open craigsapp opened 3 years ago
Humdrum documentation says to use:
*S/1,3 *S/2
for the verse numbers.
(I made up the comma for separating separate shared verse numbers, though)
See tandem interpretation section of the page:
https://www.humdrum.org/Humdrum/representations/text.rep.html
A basic implementation of verse numbers has been implemented. Here is the test example data from above:
I implemented the *v:
method, because I do not use the strophe system for different verses when converting from MusicXML for example. Also I might want to reserve the strophe system for variants, since it can also be used for that purpose (but there is currently no way of distinguishing between verse strophes and variant strophes.
The interpretation *v:2
means the second verse, and a period (.
) is added after the number automatically when rendering. If there should be a different display, then perhaps adding an extra parameter for the text content of the label could be added, such as *v:2:t=2:
to display 2:
rather than 2.
. If only a 2
should be shown, then that would be *v:2:t=2
.
There should be a method of indicating a refrain which is in the same spine as a numbered verse so that a program could extract a particular verse, but keep the refrain along with any verse. (I.e., duplicate the capability of the strophe system). This would allow conversion to/from the strophe system for lyrics as well. Maybe something like *v:all
would be good to indicate text in the first column that functions as a refrain.
Another improvement to make will be to render *v:1,3
as 1., 3.
Add a system for representing verse numbers, such as:
The verse numbers should not be included in the text, but as an interpretation (or possibly a layout parameter). Here is a proposed representation:
Where
*v:
means a verse number. Either allow the contents of*v:
to be a string, such as "1. 3." for the first and third verse, or allow for a second parameter to override automatic text generation from a pure number system. If the numbering is systematic, then this will allow creating a tool to automatically extract verses.With automatic text generation, mabe encode as:
Here is the target MEI data for the above example, where
<label>
is given since of the<verse>
which includes the contents of the verse number. There is also<labelAbbr>
which will redisplay its contents at the start of every system break (maybe encode as*vv:
)