Ian Hulin schrieb:
[...]
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.
Hi Ian,
I have also thought about implementing this properly.
I had the idea to extend the \repeat syntax:
\repeat segno {.A.}
\alternative {{ .B. }{ .C.}}
could start part A with a segno sign, draw a coda sign at the start
of B,
creates a markup or something similar saying "D.S. al ø-ø", then
does (perhaps) a line break and draws the corresponding coda symbol
at the beginning of part C.
(And if there is no music before part A, this could become "Da Capo"
and no segno signs are drawn).