Da Capos, Codas and Segnos

classic Classic list List threaded Threaded
17 messages Options
Reply | Threaded
Open this post in threaded view
|

Da Capos, Codas and Segnos

Ian Hulin
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.
    • If the coda keyword was used a \break is generated and the © markup generated ready for the next music expression.
Comments welcome.

Cheers,

Ian

 

Reply | Threaded
Open this post in threaded view
|

Re: Da Capos, Codas and Segnos

Marc Hohl
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).

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 sohuld 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.

What do you think?

Greetings,

Marc
>
> Cheers,
>
> Ian
>
>  
>


---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|

Re: Da Capos, Codas and Segnos

David Pounder
In reply to this post by Ian Hulin


> ------- Original Message -------
> From: Ian Hulin <[hidden email]>
> To: Lilypond Frogs List <[hidden email]>
> Sent: 15.2.10, 17:40:48
> Subject: [frogs] Da Capos, Codas and Segnos
>
> 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?

To Trio.


> 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
>
>
>
>

---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|

Re: Da Capos, Codas and Segnos

David Pounder
In reply to this post by Ian Hulin


Regards,

David Pounder

> ------- Original Message -------
> From: Ian Hulin <[hidden email]>
> To: Lilypond Frogs List <[hidden email]>
> Sent: 15.2.10, 17:40:48
> Subject: [frogs] Da Capos, Codas and Segnos
>
> 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
>
>
>
>

---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|

Re: Da Capos, Codas and Segnos

Ian Hulin
In reply to this post by David Pounder
On 15/02/10 18:47, David Pounder wrote:

>
>    
>> ------- Original Message -------
>> From: Ian Hulin<[hidden email]>
>> To: Lilypond Frogs List<[hidden email]>
>> Sent: 15.2.10, 17:40:48
>> Subject: [frogs] Da Capos, Codas and Segnos
>>
>> 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?
>>      
> To Trio.
>
>
>    
Thanks for that, David, but isn't that a variant of "Da Capo al Coda" ?

A B "second time to Trio" C "Da Capo"   D "Trio" ==> A B C A B D .

Maybe need to think about adding alternate text for \tocoda.








---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|

Re: Da Capos, Codas and Segnos

Ian Hulin
In reply to this post by Marc Hohl
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


---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|

Re: Da Capos, Codas and Segnos

David Pounder
In reply to this post by Ian Hulin


Regards,

David Pounder

> ------- Original Message -------
> From: Ian Hulin <[hidden email]>
> To: David Pounder <[hidden email]>
> Sent: 15.2.10, 22:18:25
> Subject: Re: [frogs] Da Capos, Codas and Segnos
>
> On 15/02/10 18:47, David Pounder wrote:
> >
> >    
> >> ------- Original Message -------
> >> From: Ian Hulin<[hidden email]>
> >> To: Lilypond Frogs List<[hidden email]>
> >> Sent: 15.2.10, 17:40:48
> >> Subject: [frogs] Da Capos, Codas and Segnos
> >>
> >> 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?
> >>      
> > To Trio.
> >
> >
> >    
> Thanks for that, David, but isn't that a variant of "Da Capo al Coda" ?
>
> A B "second time to Trio" C "Da Capo"   D "Trio" ==> A B C A B D .
>
> Maybe need to think about adding alternate text for \tocoda.
>
>
>
>
>
>
>
>

---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|

Re: Da Capos, Codas and Segnos

David Pounder
In reply to this post by Ian Hulin


> ------- Original Message -------
> From: Ian Hulin <[hidden email]>
> To: David Pounder <[hidden email]>
> Sent: 15.2.10, 22:18:25
> Subject: Re: [frogs] Da Capos, Codas and Segnos
>
> On 15/02/10 18:47, David Pounder wrote:
> >
> >    
> >> ------- Original Message -------
> >> From: Ian Hulin<[hidden email]>
> >> To: Lilypond Frogs List<[hidden email]>
> >> Sent: 15.2.10, 17:40:48
> >> Subject: [frogs] Da Capos, Codas and Segnos
> >>
> >> 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?
> >>      
> > To Trio.
> >
> >
> >    
> Thanks for that, David, but isn't that a variant of "Da Capo al Coda" ?
>
> A B "second time to Trio" C "Da Capo"   D "Trio" ==> A B C A B D .
>
> Maybe need to think about adding alternate text for \tocoda.
>

Apologies for the blank replies - my e-mail client has been playing up.

I was thinking that if you want to represent the musical structure of a piece in terms of repeated sections then a trio is different to a coda, and both are often present in the same piece. Added complication is that the trio may contain volta repeats.

David.

---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|

Re: Da Capos, Codas and Segnos

Ian Hulin
Hi David,

On 16/02/10 07:00, David Pounder wrote:

>> ------- Original Message -------
>> From: Ian Hulin<[hidden email]>
>> To: David Pounder<[hidden email]>
>> Sent: 15.2.10, 22:18:25
>> Subject: Re: [frogs] Da Capos, Codas and Segnos
>>
>> On 15/02/10 18:47, David Pounder wrote:
>>      
>>>
>>>        
>>>> ------- Original Message -------
>>>> From: Ian Hulin<[hidden email]>
>>>> To: Lilypond Frogs List<[hidden email]>
>>>> Sent: 15.2.10, 17:40:48
>>>> Subject: [frogs] Da Capos, Codas and Segnos
>>>>
>>>> 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?
>>>>
>>>>          
>>> To Trio.
>>>
>>>
>>>
>>>        
>> Thanks for that, David, but isn't that a variant of "Da Capo al Coda" ?
>>
>> A B "second time to Trio" C "Da Capo"   D "Trio" ==>  A B C A B D .
>>
>> Maybe need to think about adding alternate text for \tocoda.
>>
>>      
> Apologies for the blank replies - my e-mail client has been playing up.
>
> I was thinking that if you want to represent the musical structure of a piece in terms of repeated sections then a trio is different to a coda, and both are often present in the same piece. Added complication is that the trio may contain volta repeats.
>
> David.
>
>    
A volta repeat or repeats is simply a musical expression, so can be left
to the stage when the music expression passed to \dalsegno or \dacapo is
evaluated

\version "2.13.nn"
Asection = { c1 | c1 | }       %Section A
Bsection = { f1 | f1 | }        % Section B
Csection =  { g1 | g1 |}       % Section C
Dsection = {\repeat volta 2 {bes1 bes1 | es1 | f1 |} \alternative { {f1
|} {f2 g2}  }} % Coda or Trio

\relative c {
   \clef treble
   \time 4/4
%{ proposed syntax
   \Asection \dalsegno coda {\Bsection \tocoda \Csection \enddalsegno
\Dsection}
%or
   \Asection \dalsegno coda {\Bsection \tocoda "to Trio" \Csection
\enddalsegno \Dsection}
%}
   \Asection \Bsection \Csection \Dsection
}

However, there may be a problem if a  \repeat block is included as part
of Bsection and/or Csection, as the current \repeat doesn't need to have
a clear end delimiter and may get confused if you try to nest \repeat
volta  blocks with \alternative clauses.  We're sort of nesting repeats
if we have \repeat volta ... \alternative in Bsection or Csection here,
so it may be a corner condition.  I'll have to get prototyping to check.

Hope your e-mail client is feeling better, David.

Marc, any thoughts?
If we go with \repeat segno that would mean \repeat would *have* to be
able to be nested, and would need to have counter of how deeply nested
we are in repeat blocks: each new \repeat would need to increment it and
there would need to be some consistent point at which to decrement it -
possibly a \endrepeat statement.

Btw, if anyone thinks you never need to nest \repeat volta blocks, check
out  the vocal score for Ariel Ramirez, Misa Criola, Gloria (there's
always a cheap-skate publisher somewhere trying to save paper al all costs).

We may need this stuff anyway if we use \dalsegno \dacapo - hence why I
think this is a GLISS-type discussion.

Thanks, guys for all the feedback so far,

Cheers,

Ian

---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|

Re: Da Capos, Codas and Segnos

Kieren MacMillan
Hi all,

I've been lurking a bit on this thread, but felt I should comment.

I personally think we need a more general structure than \repeat will ever be able to reasonably offer. Essentially, we need to be able to say that a single movement/piece [of Lilypond code] consists of one or more \section blocks, where a \section would have at least the following independent options:
    1. indent value[s] and/or line lengths;
    2. section title (e.g. "Trio").

Then, each section can or cannot include standard Lilypond \repeat structures, as necessary.

BTW: I'm *not* saying that Lilypond's \repeat structure shouldn't be improved -- I'm just suggesting that we might be looking at two different problems here.

Cheers,
Kieren.
---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|

Re: Da Capos, Codas and Segnos

Ian Hulin
Hi Kieran,
Kieren MacMillan wrote
Hi all, I've been lurking a bit on this thread, but felt I should comment. I personally think we need a more general structure than \repeat will ever be able to reasonably offer. Essentially, we need to be able to say that a single movement/piece [of Lilypond code] consists of one or more \section blocks, where a \section would have at least the following independent options: 1. indent value[s] and/or line lengths; 2. section title (e.g. "Trio"). Then, each section can or cannot include standard Lilypond \repeat structures, as necessary.
Presumably \section would be something like \score { \section { %music for unnamed section } \section :#title "Trio" :#indent #1 { %music for titled and indented Trio section } } Cheers, Ian
Reply | Threaded
Open this post in threaded view
|

Re: Da Capos, Codas and Segnos

Ian Hulin
In reply to this post by Kieren MacMillan
Kieren MacMillan wrote
Hi all, I've been lurking a bit on this thread, but felt I should comment. I personally think we need a more general structure than \repeat will ever be able to reasonably offer. Essentially, we need to be able to say that a single movement/piece [of Lilypond code] consists of one or more \section blocks, where a \section would have at least the following independent options: 1. indent value[s] and/or line lengths; 2. section title (e.g. "Trio"). Then, each section can or cannot include standard Lilypond \repeat structures, as necessary. BTW: I'm *not* saying that Lilypond's \repeat structure shouldn't be improved -- I'm just suggesting that we might be looking at two different problems here. Cheers, Kieren. --- ---- Join the Frogs!
Would it work something like this \score { \section { %untitled music expressions } \section :#title "Trio" :#indent 1 { %title Trio section music indented by 1 position } } Cheers, Ian
Reply | Threaded
Open this post in threaded view
|

Re: Da Capos, Codas and Segnos

reinhold
Am Dienstag, 16. Februar 2010 18:07:11 schrieb Ian Hulin:

> Kieren MacMillan wrote:
> > Hi all,
> >
> > I've been lurking a bit on this thread, but felt I should comment.
> >
> > I personally think we need a more general structure than \repeat will
> > ever be able to reasonably offer. Essentially, we need to be able to say
> > that a single movement/piece [of Lilypond code] consists of one or more
> > \section blocks, where a \section would have at least the following
> > independent
> >
> > options:
> >     1. indent value[s] and/or line lengths;
> >     2. section title (e.g. "Trio").
> >
> > Then, each section can or cannot include standard Lilypond \repeat
> > structures, as necessary.
>
> Would it work something like this
>
> \score {
>      \section {
>           %untitled music expressions
>       }
>      \section :#title "Trio" :#indent 1 {
>            %title Trio section music indented by 1 position
>       }
> }

Isn't this exactly the same as using different \score blocks in a file?
At least David's case of  multiple movements should be written with different
scores for each movement. I'm using different scores for different movements
all the time, they use the piece header property for the title, use proper
intendation, etc.

Each of these movements can have any repeat structure, of course.

Currently, we have the following hierarchy:

-) Book
-) Bookpart
-) Score

I think that suffices all scores. I haven't yet seen a work, where a movement
is further split into separate submovements that need to be scores by
themselves.

Cheers,
Reinhold

--
------------------------------------------------------------------
Reinhold Kainhofer, [hidden email], http://reinhold.kainhofer.com/
 * Financial & Actuarial Math., Vienna Univ. of Technology, Austria
 * http://www.fam.tuwien.ac.at/, DVR: 0005886
 * LilyPond, Music typesetting, http://www.lilypond.org

---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|

Re: Da Capos, Codas and Segnos

Kieren MacMillan
Hi all,

>> Would it work something like this

I was thinking that it would be more like the \newSpacingSection command we have right now -- i.e., you'd use it "inline":

music = \relative {
   a b c d
   \newSection #settings
   a b c d
}

where "settings" might be keywords like #coda, or maybe explicit #indent, etc.

Yes?
Kieren.
---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|

Re: Da Capos, Codas and Segnos

Marc Hohl
In reply to this post by Ian Hulin
Ian Hulin schrieb:

> 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.
After reading through the other posts, I think that overloading \repeat
would not cover *all* possible
cases. On the other hand, there should be *one* consistent way of doing
any kind of repeats.

David's comparison with goto-like structures seems to be the right
approach, so I revert my
proposal about enhancing \repeat for a more universal structure.

>
>> [...]
>>
> It was your work on issue 659 that started me thinking about this stuff.
:-)
>
> Grüsse aus England,
Thanks!

Greetings from Germany,

Marc
>
>


---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|

Re: Da Capos, Codas and Segnos

Ian Hulin
In reply to this post by reinhold
On 16/02/10 17:20, reinhold [via LilyPond Frogs] wrote:
Am Dienstag, 16. Februar 2010 18:07:11 schrieb Ian Hulin:

> Kieren MacMillan wrote:
> > Hi all,
> >
> > I've been lurking a bit on this thread, but felt I should comment.
> >
> > I personally think we need a more general structure than \repeat will
> > ever be able to reasonably offer. Essentially, we need to be able to say
> > that a single movement/piece [of Lilypond code] consists of one or more
> > \section blocks, where a \section would have at least the following
> > independent
> >
> > options:
> >     1. indent value[s] and/or line lengths;
> >     2. section title (e.g. "Trio").
> >
> > Then, each section can or cannot include standard Lilypond \repeat
> > structures, as necessary.
>
> Would it work something like this
>
> \score {
>      \section {
>           %untitled music expressions
>       }
>      \section :#title "Trio" :#indent 1 {
>            %title Trio section music indented by 1 position
>       }
> }

Isn't this exactly the same as using different \score blocks in a file?
Sort of (see below)
At least David's case of  multiple movements should be written with different
scores for each movement. I'm using different scores for different movements
all the time, they use the piece header property for the title, use proper
intendation, etc.

Each of these movements can have any repeat structure, of course.

Currently, we have the following hierarchy:

-) Book
-) Bookpart
-) Score

I think that suffices all scores. I haven't yet seen a work, where a movement
is further split into separate submovements that need to be scores by
themselves.

I think you're right, \bookpart and \score blocks within these provide most of what Kieran wanted.

But what about a movement Minuet- Trio then D.C to Fine in Minuet (generally done as one movement), or likewise Scherzo, Trio, Scherzo reprise (done via Da Capo) and then a Coda?  Is this all covered by using \bookpart containing multiple \score blocks? I'm not sure it is, quite.

Looking at the hierarchy in terms of engraved (pdf) output:
  • Book produces a separate output file
  • Bookpart produces a compulsory page break and allows modification of \header element
  • Score represents a continuous chunk of musical notation covering a contiguous timespan
  • Section could mean "a group of score blocks within a bookpart with markups at the start and/or end which reference each other"
I think we current;y nearly have enough to handle coda/segno-type stuff with this sort of idea.

\book {
    \header {
    title = "The Overall Opus"
    }
    \bookpart {
        %First Movement
    }
    \bookpart {
        %Second Movement
    }
    \bookpart {
        % 3. Scherzo
    \header {
        title = "3. Scherzo"
    }
    % Start of section
    \score {
        % Music for Section A of Scherzo
        % End with markup stating goto Coda if you've finished performing the Da Capo
    }
    \score {
        \header {
            title = "Trio"
        }
        % Music for Section B of Scherzo, aka Trio, ending with
        % "Da Capo" type markup
    }
    \score {
        \header {
            title = "Coda" % or \markup to generate ¤ (the hot-cross-bun sign)
        }
        % Music for Section C of Scherzo, the Coda
    }
    % End of section
}

We could have \section with this syntax:
\section title-markup-list lastbar-markup-list list-of-music-expressions
e.g.
\section {"" "Trio" "Coda"}                                     %markups to use as titles in \header within the score
             {"Al Coda 2a volta" "Da Capo al Coda" ""} %markups to print at the start of the last bar in each score
             {                                                               %the music expression for each score
                {% Music for Section A of Scherzo}
                {% Music for Section B, aka Trio}
                {% Music for Coda}
             }
               
\section could use a new lastbar-markup property for \score which would be text to be printed at the start of the last bar of a score block, otherwise it would expand to the above idea.

Doable? Desirable? Or just me diving off down a gopher-hole?

Cheers,

Ian

Reply | Threaded
Open this post in threaded view
|

Re: [frogs] Da Capos, Codas and Segnos

Ian Hulin
In reply to this post by reinhold
On 16/02/10 17:20, reinhold [via LilyPond Frogs] wrote:
Am Dienstag, 16. Februar 2010 18:07:11 schrieb Ian Hulin:

> Kieren MacMillan wrote:
> > Hi all,
> >
> > I've been lurking a bit on this thread, but felt I should comment.
> >
> > I personally think we need a more general structure than \repeat will
> > ever be able to reasonably offer. Essentially, we need to be able to say
> > that a single movement/piece [of Lilypond code] consists of one or more
> > \section blocks, where a \section would have at least the following
> > independent
> >
> > options:
> >     1. indent value[s] and/or line lengths;
> >     2. section title (e.g. "Trio").
> >
> > Then, each section can or cannot include standard Lilypond \repeat
> > structures, as necessary.
>
> Would it work something like this
>
> \score {
>      \section {
>           %untitled music expressions
>       }
>      \section :#title "Trio" :#indent 1 {
>            %title Trio section music indented by 1 position
>       }
> }

Isn't this exactly the same as using different \score blocks in a file?
Sort of (see below)
At least David's case of  multiple movements should be written with different
scores for each movement. I'm using different scores for different movements
all the time, they use the piece header property for the title, use proper
intendation, etc.

Each of these movements can have any repeat structure, of course.

Currently, we have the following hierarchy:

-) Book
-) Bookpart
-) Score

I think that suffices all scores. I haven't yet seen a work, where a movement
is further split into separate submovements that need to be scores by
themselves.

I think you're right, \bookpart and \score blocks within these provide most of what Kieran wanted.

But what about a movement Minuet- Trio then D.C to Fine in Minuet (generally done as one movement), or likewise Scherzo, Trio, Scherzo reprise (done via Da Capo) and then a Coda?  Is this all covered by using \bookpart containing multiple \score blocks? I'm not sure it is, quite.

Looking at the hierarchy in terms of engraved (pdf) output:
  • Book produces a separate output file
  • Bookpart produces a compulsory page break and allows modification of \header element
  • Score represents a continuous chunk of musical notation covering a contiguous timespan
  • Section could mean "a group of score blocks within a bookpart with markups at the start and/or end which reference each other"
I think we current;y nearly have enough to handle coda/segno-type stuff with this sort of idea.

\book {
    \header {
    title = "The Overall Opus"
    }
    \bookpart {
        %First Movement
    }
    \bookpart {
        %Second Movement
    }
    \bookpart {
        % 3. Scherzo
    \header {
        title = "3. Scherzo"
    }
    % Start of section
    \score {
        % Music for Section A of Scherzo
        % End with markup stating goto Coda if you've finished performing the Da Capo
    }
    \score {
        \header {
            title = "Trio"
        }
        % Music for Section B of Scherzo, aka Trio, ending with
        % "Da Capo" type markup
    }
    \score {
        \header {
            title = "Coda" % or \markup to generate ¤ (the hot-cross-bun sign)
        }
        % Music for Section C of Scherzo, the Coda
    }
    % End of section
}

We could have \section with this syntax:
\section title-markup-list lastbar-markup-list list-of-music-expressions
e.g.
\section {"" "Trio" "Coda"}                                     %markups to use as titles in \header within the score
             {"Al Coda 2a volta" "Da Capo al Coda" ""} %markups to print at the start of the last bar in each score
             {                                                               %the music expression for each score
                {% Music for Section A of Scherzo}
                {% Music for Section B, aka Trio}
                {% Music for Coda}
             }
               
\section could use a new lastbar-markup property for \score which would be text to be printed at the start of the last bar of a score block, otherwise it would expand to the above idea.

Doable? Desirable? Or just me diving off down a gopher-hole?

Cheers,

Ian