lilypond-user
[Top][All Lists]
Advanced

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

Re: Acciaccatura distoring spacing


From: David Sumbler
Subject: Re: Acciaccatura distoring spacing
Date: Mon, 27 May 2019 12:32:02 +0100

Firstly let me apologise for my stupidity: I am quite aware of the
problem with gracenotes after barlines.  But in this case, with a
normal barline, there wasn't a problem until I started experimenting
with SpacingSpanner.strict-grace-spacing.  When the problem did arise,
it just didn't occur to me that the lack of dummy graces in the other
parts might be a factor.

Still... there really does still seem to be something odd and very
unsatisfactory going on here.  I have spent hours and hours
experimenting with this, and so far I haven't found a way of getting a
wholly satisfactory result. 

The following example illustrates the sort of problem I get:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\language "english"
#(set-global-staff-size 16)

\score {
   \new StaffGroup <<
     { \new Staff \time 5/4 \relative {
      \tuplet 6/4 {c'''16( d c a g e} c8) r
      \tuplet 3/2 4 {r \acciaccatura a' g-. \acciaccatura a g-.
                     \once \hide TupletBracket 
                     \acciaccatura a g[-. r \acciaccatura a g]-.
                     \acciaccatura a g-. \acciaccatura a g-. r} |
      %% Violin 2-A Score No.1 bar 69
      \tuplet 3/2 4 {\once \hide TupletBracket \acciaccatura a='' g8-.
                     \acciaccatura a g-. \acciaccatura a g-.
                     r \acciaccatura a g-. \acciaccatura a g-.}
      \acciaccatura a g-.
      r r4
      \tuplet 6/4 {c16( d c a g e)} |
     } }
     { \new Staff \relative {
      r2
      \newSpacingSection
      \override Score.SpacingSpanner.strict-grace-spacing = ##t
      g''16-. g-. e'( c) g-. g-. e'( c) g-. g-. e'( c) |
      \newSpacingSection
      \revert Score.SpacingSpanner.strict-grace-spacing
      %% Violin 2-B Score No.1 bars 69
      \grace s8 g=''16-.
      \newSpacingSection
      \override Score.SpacingSpanner.strict-grace-spacing = ##t
      g-. e'( c) r4
      \newSpacingSection
      \revert Score.SpacingSpanner.strict-grace-spacing
      g16-. g-. e'( c)
      r8 e,16-. fs-. g-. a-. b-. c-. |
     } }
   >>
 }       
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

At first glance this is reasonable, and certainly the problem of the
barline appearing 4 1/2 beats later than it should has been solved.

But in fact the barline is still not quite where it should be: it is
too far to the left, so that it is almost touching the last semiquaver
of the first bar, and there is an unnecessarily large space before the
acciaccatura in the upper line.

In the original score there are 8 other staves (plus 2 invisible ones),
generally less busy than these 2 staves.  If I could understand how to
get a predictably good result for these 2 staves, hopefully that would
translate into a solution for the whole score.  But at the moment, it's
"doing my head in", as they say.

David


On Mon, 2019-05-27 at 09:20 +1000, Andrew Bernard wrote:
> Hi All,
> 
> Isn't this a well known bug in lilypond? Much discussion in the list
> archives. You need to add the spacer in the other voice.
> 
> Andrew
> 

On Sun, 2019-05-26 at 14:20 -0300, Stefano Troncaro wrote:
> Hi David,
> 
> Look at this:
> 
> %%%%%%%%%%%%%%%%%%%%%
> \version "2.19.82"
> \language "english"
> #(set-global-staff-size 16)
> 
> strictGraceTrue = {
>   \newSpacingSection
>   \override Score.SpacingSpanner.strict-grace-spacing = ##t }
> 
> strictGraceFalse = {
>   \newSpacingSection
>   \override Score.SpacingSpanner.strict-grace-spacing = ##f }
> 
> \score {
>   \new StaffGroup <<
>     \new Staff { s4*5*2 }
>     \new Staff \relative { \time 5/4
>       r2
>       \strictGraceTrue
>       \tuplet 3/2 4 {r8 \acciaccatura a'' g-. \acciaccatura a g-.
>      \once \hide TupletBracket
>      \acciaccatura a g[-. r \acciaccatura a g]-.
>      \acciaccatura a g-. \acciaccatura a g-. r} |
>       \noBreak \strictGraceFalse
>       \tuplet 3/2 4 {\once \hide TupletBracket \acciaccatura a g8-.
>      \acciaccatura a g-. \acciaccatura a g-.
>      r \acciaccatura a g-. \acciaccatura a g-.}
>       \acciaccatura a g-.
>       r r2 |
>     }
>     \new Staff \relative {
>        r2 g''16-. g-. e'( c) g-. g-. e'( c) g-. g-. e'( c) |
>        \grace s8 g=''16-. \strictGraceTrue g-. e'( c) r4 g16-. g-.
> e'( c)
>        r8 e,16-. fs-. g-. a-. b-. c-. |
>     }
>   >>
> }  
> %%%%%%%%%%%%%%%%%%%%%%%%%
> 
> I'm sorry I don't have time to write a full explanation, or more
> tests now, but I think the problem lies with the fact that the bar
> starts with an acciacatura in one Voice, but there is a bar check and
> no acciacatura in the other Voice. Writing an acciacatura with a
> spacer rest in the voice that has no printed grace note solves the
> issue. To avoid having the grace (that occupies no time with the
> strict-grace-spacing set to #t) collide with the barline, I changed
> spacing sections.
> 
> Hope this helps,
> Stéfano




reply via email to

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