lilypond-user
[Top][All Lists]
Advanced

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

Re: 2nd ending time signature strangeness when using Devnull


From: Thomas Morley
Subject: Re: 2nd ending time signature strangeness when using Devnull
Date: Fri, 28 Oct 2016 01:23:29 +0200

2016-10-27 19:06 GMT+02:00 address@hidden
<address@hidden>:
> I just ran into a problem that seems to be related to Devnull. The second 
> ending time signature reverts to 3/4 time. If I comment out the Devnull line 
> then the time signatures are as expected. Am I using Devnull in the wrong 
> way? Is this a bug?
> Thanks,
> Holland
>
> \version "2.19.30"
>
> global = {
>   \numericTimeSignature
>   \time 4/4
> }
>
> music = \relative c' {
>   \repeat volta 2 {
>     c1
>   }
>
>   \alternative {
>     {
>       \time 3/4
>       d4 d4 d4 |
>       \time 4/4
>       c1 |
>     }
>     {
>       %this should be a 4/4 bar, but is treated as 3/4 when Devnull is active
>       d4 d4 d4 d4 |
>       c1 |
>     }
>   }
> }
>
> %use \music variable to define metric structure, rehearsal marks, etc. for 
> all voices
> global = {
>   <<
>     \global %include previously defined global stuff
>
>     %!!!! comment out the next line and the time signature problem goes away
>     \new Devnull \music
>   >>
> }
>
> \score {
>   \new Staff {
>     <<
>       \global
>       \music
>     >>
>   }
> }



Hi,

it has nothing to do with DevNull or the like, even this boiled down
example comes out wrongly and with bar check failures:

\version "2.19.49"

music =
  \repeat volta 2 {
        c1
  }
  \alternative {
    {
      \time 3/4
      d2. |
      \time 4/4
      c1 |
    }
    { d1 | }
  }

<<
  \relative c'' \music
  \relative c' \music
>>

The culprit is the new `alternativeRestores'-context-property.
The default is:
alternativeRestores = #'(measurePosition measureLength lastChord)

measureLength is the problem. You can (once) unset
`alternativeRestores' or delete measureLength from the list.
Leading to:

music =
  \repeat volta 2 {
        %\set Score.alternativeRestores = #'(measurePosition lastChord)
        \unset Score.alternativeRestores
        c1
  }
  \alternative {
    {
      \time 3/4
      d2. |
      \time 4/4
      c1 |
    }
    { d1 | }
  }

<<
  \relative c'' \music
  \relative c' \music
>>

Apart from Changes it's not yet documented, please write a bugreport
requesting documentation, maybe we should rethink the default-settings
as well.

HTH,
  Harm



reply via email to

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