Hi Frogs and Developers,
This is by way of limbering up for a discussion on the GLISS list when
it gets going.
I'm trying to think of all the commoner combinations of Segnos, Codas
and Da Capo instructions so maybe we can work out a consistent syntax
for addressing what are, after all, variations on the theme of repeat
blocks.
Here are the ones I can think of off the top of my head
Da Capo al Fine:
A "Fine" B "Da Capo al Fine" ==> A B A
Dal Sego Al Fine
A "§" B "Fine" C "Dal Segno Al Fine" ==> A B C B
Da Capo Al Coda
A B "©" C "Da Capo al Coda" "©" D ==> A B C A B D
Dal Segno Al Coda
A "§" B C "©" D "Dal Segno al Coda" E ==> A B C D B C E
Firstly, can anyone think of any more combinations I may have missed here?
Secondly, what I had in mind was this kind of thing:
* \dalsegno and \dacapo - both of these start off a segno/dacapo
section. I know it's a bit weird that the \dacapo command would
have to be at the start of the score, but I think it would be
beneficial in terms of syntax checking.
* \dalsegno and \dacapo both take a keyword and a music expression
as parameters. The keyword is either /coda/, /fine/ or it is
omitted. If it is omitted it defaults to /fine/.
* \fine - checks if a \dacapo or \dalsegno block are current and
that the last \dalsegno or \dacapo used a /fine/ keyword. If so
it, generates a double bar and "Fine" markup.
* \tocoda - checks if a \dacapo or \dalsegno block are current, and
that the last \dalsegno or \dacapo used a /coda/ keyword. If so
it generates a double bar and "Al ©" markup. (For © read the coda
hot-cross-bun sign).
* \endDaCapo, \endDalSegno terminate the block. They firstly check
if a block is current, and what kind of keyword was used. If the
block was started with a /fine/ keyword, it generates a double bar
and a markup "Dal Segno"|"Da Capo" al "Fine"|"Coda", depending on
the type of block and the keyword parameter used.
o If the coda keyword was used a \break is generated and the ©
markup generated ready for the next music expression.
Comments welcome.
Cheers,
Ian
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel