lilypond-user
[Top][All Lists]
Advanced

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

Re: Coda ahead of a line of its own


From: Flaming Hakama by Elaine
Subject: Re: Coda ahead of a line of its own
Date: Wed, 24 Dec 2014 14:11:16 -0800

David Kastrup>  Have a \repeat coda command for repeats with coda, and a \repeat fine command for repeats with fine.
David Kastrup>  I thought that was obvious.  If you find that the problem description is deficient, please add a comment to the issue.

I have a few observataions.  Not sure if these are coherent enough to be posted to the issue.


The 3752 issue suggests this format:
\repeat coda 2 { c d e f } \alternatives { { %{coda sign%} ... %{da capo/segno al coda%} } { %{actual coda%}... } }
\repeat fine 2 { c d e f} \alternatives { { %{fine sign%} ... %{da capo/segno al fine %} } { %{must be empty%} } }

However, I believe that this understates the amount of complexity of how large-scale repeats are used in practice.
To start, here are the four simple cases which show the location of music and marking in pseudocode, using this legend:

  \music
  [symbol or text]
  ||: normal repeat :||
  ||  double bar for clarity
  // score break


D.C. al Fine
              \repeatedMusicB [Fine] \nonRepeatedMusicB [DC]

D.S. al Fine
\musicA Segno \repeatedMusicB [Fine] \nonRepeatedMusicB [DC]


D.C. al Coda
              \repeatedMusicB [Coda] \nonRepeatedMusicB DS // [Coda] \musicCoda

D.S. al Coda
\musicA Segno \repeatedMusicB [Coda] \nonRepeatedMusicB DS // [Coda] \musicCoda



Now, where it gets complicated is that often DS/DC occurs within some other repeats.  
(These examples are with Fine, but Segno doesn't add any additional complexity.)


Coda used like a "3rd ending":
||: \repeatedMusicB [Coda] \voltaMusicOne :|| \voltaMusicTwo || \nonRepeatedMusicB [DC] // [Coda] \musicCoda

Coda used like an actual Coda, with no repeats on DC: 
||: \repeatedMusicB \voltaMusicOne [Coda] :|| \voltaMusicTwo || \nonRepeatedMusicB [DC] // [Coda] \musicCoda

Coda used like an actual Coda, with repeats on DC:
||: \repeatedMusicB \voltaMusicOne :|| \voltaMusicTwo [Coda] || \nonRepeatedMusicB [DC] // [Coda] \musicCoda

Coda used similar to "3rd" ending, but in a different location like an actual Coda, with  after a repeat: 
||: \repeatedMusicBOne [Coda] \repeatedMusicBTwo \voltaMusicOne :|| \voltaMusicTwo || \nonRepeatedMusicB [DC] // [Coda] \musicCoda


I am wondering how these could be implemented using the suggested functional syntax.

It seems like a bigger nut to crack.



On the other hand, I often wonder why we can't have and manipulate object versions of scores, staves, books, etc.  Here is how it would look using modern object.property and object.method(argumentList) syntax:


    %  Instead of a score being only markup, allow Lilypond objects to be objects
    fullScore = \score { ... } 

    %  Use object methods to facilitate manipulating scores.  
    %  In this case, I envision a "segment" method analagous to a "substring" function for strings.
    repeatedScore = fullScore.segment(0,measureNumber) ; 
    codaScore = fullScore.segment(measureNumber) ; 

    %  Now adjust only what properties differ in the coda score
    %  assuming that the object allows access and modification of contained objects like layout
    codaScore.layout.indent = 2\cm ; 
    codaScore.layout.shortIndent = .25\cm ; 
    codaScore.layout.context.raggedLast = false ; 

    %  Convert back into Lilypond markup using a hypothetical render method
    repeatedScore.render() ; 
    codaScore.render() ; 




David Elaine Alt
415 . 341 .4954                                           "Confusion is highly underrated"
address@hidden
self-immolation.info
skype: flaming_hakama
Producer ~ Composer ~ Instrumentalist
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

On Wed, Dec 24, 2014 at 6:18 AM, <address@hidden> wrote:
Send lilypond-user mailing list submissions to
        address@hidden

To subscribe or unsubscribe via the World Wide Web, visit
        https://lists.gnu.org/mailman/listinfo/lilypond-user
or, via email, send a message with subject or body 'help' to
        address@hidden

You can reach the person managing the list at
        address@hidden

When replying, please edit your Subject line so it is more specific
than "Re: Contents of lilypond-user digest..."


Today's Topics:

   1. Re:Changing the default end-repeat bracket (Thomas Morley)
   2. Re:Changing the default end-repeat bracket (Thomas Morley)
   3. Re:Coda ahead of a line of its own (Kieren MacMillan)
   4. Re:Coda ahead of a line of its own (Federico Bruni)
   5. Re:Changing the default end-repeat bracket
      (Pierre Perol-Schneider)
   6. Re:translation of "divisi lyrics" (Jayaratna)
   7. Re:Coda ahead of a line of its own (Kieren MacMillan)


----------------------------------------------------------------------

Message: 1
Date: Wed, 24 Dec 2014 12:27:19 +0100
From: Thomas Morley <address@hidden>
To: Pierre Perol-Schneider <address@hidden>
Cc: Jacques Menu <address@hidden>,  lilypond-user Mailinglist
        <address@hidden>
Subject: Re: Changing the default end-repeat bracket
Message-ID:
        <address@hidden>
Content-Type: text/plain; charset=UTF-8

2014-12-10 15:02 GMT+01:00 Pierre Perol-Schneider
<address@hidden>:
> 2014-12-10 14:47 GMT+01:00 Jacques Menu <address@hidden>:
>
>>
>> IMHO, it could be in the notation manual.
>
>
> Added to the LSR with a "docs" tag  : http://lsr.di.unimi.it/LSR/Item?id=964
>
> Cheers,
> Pierre



Hi Pierre,

I had a look in said snippet and stumbled across the added override:
\once\override Score.VoltaBracket.X-offset = #.9
Deleting that line and compiling the code with 2.18.0 and 2.19.15 on
my machine returns proper output.
Deleting that line in the LSR (it runs 2.18.0 as well) shows some collision.
No idea whats going on.

In any case the correct override would be:
\once\override Score.VoltaBracket.shorten-pair = #'(1 . -1)

Though again, I've no clue why it's needed in the LSR, and only in the
LSR, at all.

Therefore I can't approve it, at least not with a docs-tag

Cheers,
  Harm



------------------------------

Message: 2
Date: Wed, 24 Dec 2014 13:04:21 +0100
From: Thomas Morley <address@hidden>
To: Pierre Perol-Schneider <address@hidden>
Cc: Jacques Menu <address@hidden>,  lilypond-user Mailinglist
        <address@hidden>
Subject: Re: Changing the default end-repeat bracket
Message-ID:
        <address@hidden>
Content-Type: text/plain; charset=UTF-8

2014-12-24 12:27 GMT+01:00 Thomas Morley <address@hidden>:
> 2014-12-10 15:02 GMT+01:00 Pierre Perol-Schneider
> <address@hidden>:
>> 2014-12-10 14:47 GMT+01:00 Jacques Menu <address@hidden>:
>>
>>>
>>> IMHO, it could be in the notation manual.
>>
>>
>> Added to the LSR with a "docs" tag  : http://lsr.di.unimi.it/LSR/Item?id=964
>>
>> Cheers,
>> Pierre
>
>
>
> Hi Pierre,
>
> I had a look in said snippet and stumbled across the added override:
> \once\override Score.VoltaBracket.X-offset = #.9
> Deleting that line and compiling the code with 2.18.0 and 2.19.15 on
> my machine returns proper output.
> Deleting that line in the LSR (it runs 2.18.0 as well) shows some collision.
> No idea whats going on.
>
> In any case the correct override would be:
> \once\override Score.VoltaBracket.shorten-pair = #'(1 . -1)
>
> Though again, I've no clue why it's needed in the LSR, and only in the
> LSR, at all.
>
> Therefore I can't approve it, at least not with a docs-tag
>
> Cheers,
>   Harm

Found it.
After discusion
http://lilypond.1069038.n5.nabble.com/Reducing-the-second-VoltaBracketSpanner-length-td161852.html
I changed my 2.18.0.-version of bar-line.scm

Undoing it returns the collision.

Anyway, I can't approve the snippet as is.
Correct way would be to approve it _and_ insert a corrected snippet
into Documentation/snippets/new
Can't do it myself, currently I've no git running.

Cheers,
  Harm



------------------------------

Message: 3
Date: Wed, 24 Dec 2014 07:48:53 -0500
From: Kieren MacMillan <address@hidden>
To: Federico Bruni <address@hidden>, Johan Vromans
        <address@hidden>
Cc: Lilypond-User Mailing List <address@hidden>
Subject: Re: Coda ahead of a line of its own
Message-ID: <address@hidden>
Content-Type: text/plain; charset="windows-1252"

Hi Johan, Federico, et al.,

>> As far as I know, coda en segno are often (mostly?) used to break the
>> structure of a piece of music beyond the capabilities of repetition loops.

No? it's precisely the same structure as a ?regular? long repeat.
The only difference is how the break is handled from an engraving perspective (i.e., new line or blanked staff, symbols above and/or below the staff/system at various points, etc.)

> I had the same thought when I read the issue, but I thought it was just me...

>> I'd love to see some use cases of this hypothetical coda and fine \repeats.

Did you even look at the previously-linked issue page? <https://code.google.com/p/lilypond/issues/detail?id=3752>
David K helpfully provided several examples (= use cases).

Cheers,
Kieren.
_______________________

Kieren MacMillan, composer
www:  <http://www.kierenmacmillan.info>
email:  address@hidden




------------------------------

Message: 4
Date: Wed, 24 Dec 2014 14:04:43 +0100
From: Federico Bruni <address@hidden>
To: Kieren MacMillan <address@hidden>
Cc: Lilypond-User Mailing List <address@hidden>
Subject: Re: Coda ahead of a line of its own
Message-ID:
        <CAPjDBpr4tAgp0CXtRbcG4Gyn=address@hidden>
Content-Type: text/plain; charset="utf-8"

2014-12-24 13:48 GMT+01:00 Kieren MacMillan <address@hidden>:

> >> I'd love to see some use cases of this hypothetical coda and fine
> \repeats.
>
> Did you even look at the previously-linked issue page? <
> https://code.google.com/p/lilypond/issues/detail?id=3752>
> David K helpfully provided several examples (= use cases).


Of course I did.
I don't understand why coda sign and fine sign are in first alternative.
I'd expect to see them at the end.
Just added a comment and a link to the issue.

But I don't want to bother you :-)
As long as the issue is clear for those who want to work on it I'm fine.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gnu.org/archive/html/lilypond-user/attachments/20141224/7107c060/attachment.html>

------------------------------

Message: 5
Date: Wed, 24 Dec 2014 14:11:16 +0100
From: Pierre Perol-Schneider <address@hidden>
To: Thomas Morley <address@hidden>
Cc: Jacques Menu <address@hidden>,  lilypond-user Mailinglist
        <address@hidden>
Subject: Re: Changing the default end-repeat bracket
Message-ID:
        <address@hidden>
Content-Type: text/plain; charset="utf-8"

Ok Harm.
Thanks for pointing that out.
Cheers,
Pierre

2014-12-24 13:04 GMT+01:00 Thomas Morley <address@hidden>:

> 2014-12-24 12:27 GMT+01:00 Thomas Morley <address@hidden>:
> > 2014-12-10 15:02 GMT+01:00 Pierre Perol-Schneider
> > <address@hidden>:
> >> 2014-12-10 14:47 GMT+01:00 Jacques Menu <address@hidden>:
> >>
> >>>
> >>> IMHO, it could be in the notation manual.
> >>
> >>
> >> Added to the LSR with a "docs" tag  :
> http://lsr.di.unimi.it/LSR/Item?id=964
> >>
> >> Cheers,
> >> Pierre
> >
> >
> >
> > Hi Pierre,
> >
> > I had a look in said snippet and stumbled across the added override:
> > \once\override Score.VoltaBracket.X-offset = #.9
> > Deleting that line and compiling the code with 2.18.0 and 2.19.15 on
> > my machine returns proper output.
> > Deleting that line in the LSR (it runs 2.18.0 as well) shows some
> collision.
> > No idea whats going on.
> >
> > In any case the correct override would be:
> > \once\override Score.VoltaBracket.shorten-pair = #'(1 . -1)
> >
> > Though again, I've no clue why it's needed in the LSR, and only in the
> > LSR, at all.
> >
> > Therefore I can't approve it, at least not with a docs-tag
> >
> > Cheers,
> >   Harm
>
> Found it.
> After discusion
>
> http://lilypond.1069038.n5.nabble.com/Reducing-the-second-VoltaBracketSpanner-length-td161852.html
> I changed my 2.18.0.-version of bar-line.scm
>
> Undoing it returns the collision.
>
> Anyway, I can't approve the snippet as is.
> Correct way would be to approve it _and_ insert a corrected snippet
> into Documentation/snippets/new
> Can't do it myself, currently I've no git running.
>
> Cheers,
>   Harm
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gnu.org/archive/html/lilypond-user/attachments/20141224/c1ff19a4/attachment.html>

------------------------------

Message: 6
Date: Wed, 24 Dec 2014 07:06:34 -0700 (MST)
From: Jayaratna <address@hidden>
To: address@hidden
Subject: Re: translation of "divisi lyrics"
Message-ID: <address@hidden>
Content-Type: text/plain; charset=us-ascii

Maybe something like 'testi alternativi', but I'm sure you could find
something better.



--
View this message in context: http://lilypond.1069038.n5.nabble.com/translation-of-divisi-lyrics-tp169671p169678.html
Sent from the User mailing list archive at Nabble.com.



------------------------------

Message: 7
Date: Wed, 24 Dec 2014 09:17:42 -0500
From: Kieren MacMillan <address@hidden>
To: Federico Bruni <address@hidden>
Cc: Lilypond-User Mailing List <address@hidden>
Subject: Re: Coda ahead of a line of its own
Message-ID: <address@hidden>
Content-Type: text/plain; charset="windows-1252"

Hi Federico,

> I don't understand why coda sign and fine sign are in first alternative. I'd expect to see them at the end.

The \repeat function needs to know two things:
  (1) where to put the various visual bits; and
  (2) how to unfold the repeats if the part (or midi) is being written out.

In the example you linked to (page 23, first score), we have structurally

  { 1m } { ? + 3m + ?to Coda ?? } { 2m + ?D.S. al coda? + || } { '? coda? + 2m + .| }

where ? is the standard D.S. symbol, ? is the standard coda symbol, ?m? stands for measures of music, and the other symbols are the various barlines.

So the suggested repeat structure would be

  \repeat segnocoda { 1m } \alternatives { { 3m } { 2m } { 2m } }

which is essentially exactly what David K has on the issue page.

Does that make sense now?
If not, please ask a specific question, as I?m not clear on what you don?t understand.
If it *does* make sense to you, but you think it?s an inferior solution, please point out why and suggest an alternative which in your opinion solves the problem(s).

All the best,
Kieren.

_______________________

Kieren MacMillan, composer
www:  <http://www.kierenmacmillan.info>
email:  address@hidden




------------------------------

_______________________________________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user


End of lilypond-user Digest, Vol 145, Issue 96
**********************************************


reply via email to

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