lilypond-user
[Top][All Lists]
Advanced

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

Re: possible bug?


From: Lukas-Fabian Moser
Subject: Re: possible bug?
Date: Sat, 25 Dec 2021 19:54:03 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0

Hi Erik,

Am 25.12.21 um 18:59 schrieb E Appeldoorn:
I have created a complete bare minimum of a trial, one bar, two voices.

While that's much closer to a minimal example than your previous examples, it's still far from being a bare minimum. That would be something like:

\version "2.22"

<<
  \new Staff \relative c'' {
    g8[ b16 as] g8[ b] a16[ g b a] g8[ \appoggiatura {g32 a} b8]|
  }
  \new Staff \relative c'' {
    g8[ b16 as] g8[ b] a16[ g b a] e16[ d f e]
  }
>>

(I'm sorry, I do not intend to be obnoxious, but there might be people on this list who are more willing to help if the problem is posed as concisely as possible.)

A couple of weeks ago I had a question about a spacing problem I have in a score. After many trials that did not solve anything I'm coming to the conclusion that there might be a bug with the \appoggiatura and the \acciaccatura. I did try the options you then gave me. (context \score \override SpacingSpanner.strict-note-spacing = ##t and also  \override Score.SpacingSpanner.strict-grace-spacing = ##t) that both make matters worse further along in the score. All problems disappear when I delete the \appoggiatura with its notes.

One voice has the \appoggiatura at which point the other voice doesn't justify the notes that go beneath the \appoggiatura. So if you have any more suggestions I would welcome them. If not I will classify this behaviour as a bug.
Well, you're certainly right that what LilyPond makes out of your score is less than satisfactory. The underlying problem is that LilyPond is very strict about
- aligning simultaneous events vertically,
- not aligning non-simultaneous events vertically,
- handling grace music (e.g. appoggiaturas) as occuring both before their main note, but after anything earlier in time than their main note. (They are handled as if they occupy their own "infinitesimal" time scale.)

What would be the correct way to engrave this? Space the 4 16ths evenly, put the two 8ths above their corresponding 16ths and squeezing the appoggiatura notes in? What if there's not enough place left for them - should the 16ths then be spaced further apart (evenly) until it fits? Even if this leads to the 16ths on beat 4 being spaced further apart than those on beat 3?

Basically, this is what happens with strict-grace-spacing = ##t:

\version "2.22"

\layout {
  \override Score.SpacingSpanner.strict-grace-spacing = ##t
}

<<
  \new Staff \relative c'' {
    g8[ b16 as] g8[ b] a16[ g b a] g8[ \appoggiatura {g32 a} b8]|
  }
  \new Staff \relative c'' {
    g8[ b16 as] g8[ b] a16[ g b a] e16[ d f e]
  }
>>

Now you stated that this makes matters worse further along in the score. Can you give an example for that behaviour?

In fact, it is kind-of possible to switch strict-grace-spacing on/off over the course of a score; this is possible by using \newSpacingSection. But this seems to seriously mess the overall spacing up, and without having given the matter much thought, I'd lean towards classifying _this_ as a bug:

\version "2.22"

strictGraceOn =
{
  \override Score.SpacingSpanner.strict-note-spacing = ##t
  \newSpacingSection
}

strictGraceOff = {
  \revert Score.SpacingSpanner.strict-note-spacing
  \newSpacingSection
}

<<
  \new Staff \relative c'' {
    g8[ b16 as] g8[ b] a16[ g b a] g8[ \appoggiatura {g32 a} b8]|
  }
  \new Staff \relative c'' {
    g8[ b16 as] g8[ b] a16[ g b a] \strictGraceOn e16[ d f e] \strictGraceOff
  }
>>

Lukas


reply via email to

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