lilypond-devel
[Top][All Lists]
Advanced

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

Re: Fixes NoteColumn vs SpanBar collisions. (issue 5323062)


From: address@hidden
Subject: Re: Fixes NoteColumn vs SpanBar collisions. (issue 5323062)
Date: Mon, 7 Nov 2011 11:36:09 -0800

On Nov 7, 2011, at 10:46 AM, Keith OHara wrote:

> 
>> This is saying "if the closest column is a grace-note-column, include
>> the next-closest column as well."  This gets rid of any accidental
>> overlap problems at the expense of potentially adding a little extra
>> vertical space to the page-spacer calculations, but this extra space
>> seems to be so minimal as to not be a problem (not unlike pure heights
>> for beamed stems, which could also slightly overshoot their actual
>> height).
> 
> I had not realized that the results of the pure-from-neighbor system 
> influence the page-spacing.  This is inconvenient.  Now I have some idea why 
> there is so much effort to increase the height only as much as needed.
> 


I misspoke - in this case, it does not.  But it does potentially add unwanted 
horizontal space.
All pure heights influence page-spacing.  Try:

\relative c' {
 \override Staff . BarLine #'Y-extent =
   #(ly:make-unpure-pure-container '(-1000000 . 100000) '(-2 . 2))
 \repeat unfold 52 { a b c d }
}

extra-spacing-height, which is what this current patch adds, has no influence 
on vertical spacing.  But there is so much effort to increase the height as 
needed for the following reason.

CASE 1
\new GrandStaff
<<
\new Staff \relative c {
   \override Staff . BarLine #'extra-spacing-height = #'(-10000 . 10000)
   \override TextScript #'extra-spacing-width = ##f
   \repeat unfold 52 { dis4 dis dis dis^"foo bar" }
}
\new Staff \repeat unfold 52 R1
>> 

Build this with current master and you'll see the span bar problem fixed but 
the text script elongating the measure.

CASE TWO
\new GrandStaff
<<
\new Staff \relative c {
   \override TextScript #'extra-spacing-width = ##f
   \repeat unfold 52 { dis4 dis dis dis^"foo bar" }
}
\new Staff \repeat unfold 52 R1
>> 

Build this with the most current version of my patch and the text script won't 
elongate the measure (it did with older versions of my patch, but your comments 
made me realize a flaw in the way the interface worked, so thank you!).

In a future patch, I can imagine the creation of a new grob, SpacingStub, that 
replaces extra spacing height.  Two would be attached to every grob, and they 
would allow for more fine-tuned break alignment.  For example, to achieve 
accidentals that don't cross over barlines but are allowed to get snug like the 
examples you added to the tracker, the SpacingStub could have a different 
spacing-alist than BarLine to allow this to happen.

Cheers,
MS




reply via email to

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