lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [frogs] Da Capos, Codas and Segnos


From: Ian Hulin
Subject: Re: [frogs] Da Capos, Codas and Segnos
Date: Mon, 15 Feb 2010 22:51:50 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.9.1.7) Gecko/20100111 Lightning/1.0b1 Thunderbird/3.0.1

Hi Marc,

On 15/02/10 18:32, Marc Hohl wrote:
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).

Not all D.S. or D.C. blocks end with a jump to a Coda, would you want to have another parameter
\repeat segno coda-or-fine-keyword {A}
\alternative {{B} {C}}.

Also don't \repeat and \alternative at the moment have potential problems with which \alternative strictly belongs to which repeat, because there is no explicit function to end the block?

Or were you relying on the whether \alternative has a single music expression or a list of music expressions to determine whether you're dealing with Al Coda (if it's a list) or Fine (if there's one music expression)?

I can see the attraction of using \repeat since it is conceptually closely related to what happens for segnos and codas, but I feel if we go down this route, the \repeat and \alternative functions risk getting overloaded to the extent that they may become difficult to document and therefore hard for users to learn to use.

My idea was do use special bar line styles for it to avoid the cluttering of
segno/coda/etc. symbols with other marks and markups.

At the moment, I am working on issue #659 which will provide a
\bar "S" (and variants) which draws a varsegno sign as a bar line.
Why not define a \bar "C" which draws a bar line with a coda sign over it?
These bar line styles could then be easily included in a \repeat
construct which does not use "|:" and ":|", but "S" and "C"?

Of course, there should be options to make the textual "D.S. al Coda"
appear within a line or after an automated line break, change the
text string etc.

It was your work on issue 659 that started me thinking about this stuff.

Grüsse aus England,

Ian





reply via email to

[Prev in Thread] Current Thread [Next in Thread]