[Top][All Lists]
[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: |
Fri, 4 Nov 2011 00:12:01 -0700 |
On Nov 3, 2011, at 11:39 PM, address@hidden wrote:
> I'll try to make a patch so that note-spacing is not affected by
> potential collisions between grobs from different staff-like-contexts
> (fixing the rare Lyrics-barline interaction). Then we can restore
> skyline-vertical-padding.
>
> Net, with this patch and the other SpanBarStub patch, you've added 680
> lines of code containing two new engravers, to fix issue 910 and issue
> 1955. I don't like the thought of maintaining that.
>
> What is the overall plan for the new engravers?
>
>
Currently, LilyPond has no mechanism to calculate the Y-extents of Items in a
relative way. You can't say "make the height of grob X such that it is always
Y larger than that of grob Z." This is necessary for grobs (like barlines)
that need to block certain grobs that fall above and below them. Idem for
Staves, idem for time signatures. Currently, LilyPond accomplishes this
through hardcoded values (checkout the extra-spacing-height for TimeSignature,
for example), which potentially catches unwanted fuzz (a text script with '(0 .
0) for extra-spacing-width and low padding will be shifted over numerical time
signatures but not common time).
In general, I'd like to see the Pure_from_neighbor_engraver take care of the
extra spacing heights for all grobs that are ordered by break alignments, as
all of them should prevent overhang. This patch already does a good chunk of
work for that.
This engraver will also be essential for cross staff stems, which I plan to
implement and which will need spacing stubs on the staves they cross whose
heights can be calculated via this engraver.
> http://codereview.appspot.com/5323062/diff/12001/input/regression/lyrics-pass-under-bar.ly
> File input/regression/lyrics-pass-under-bar.ly (right):
>
> http://codereview.appspot.com/5323062/diff/12001/input/regression/lyrics-pass-under-bar.ly#newcode4
> input/regression/lyrics-pass-under-bar.ly:4: texidoc = "Long lyrics
> should be allowed to pass under
> They do so, except in very rare cases in short examples where nothing
> protrudes from the staff.
>
> I agree it would be nice to change this, but did you really see the
> problem in real music?
>
I see the problem in my music (which I consider real music!).
> http://codereview.appspot.com/5323062/diff/12001/lily/pure-from-neighbor-engraver.cc
> File lily/pure-from-neighbor-engraver.cc (right):
>
> http://codereview.appspot.com/5323062/diff/12001/lily/pure-from-neighbor-engraver.cc#newcode32
> lily/pure-from-neighbor-engraver.cc:32: vector<Grob *> pures_;
> This takes the lilypond-jargon 'pure' even further from its original
> inspiration (a pure function that does not depend on nor change program
> state).
> What is a 'pure' when used as a noun?
>
Grobs that are pure relevant. I'll use "pure_relevants_" instead.
> http://codereview.appspot.com/5323062/diff/12001/scm/define-grob-properties.scm
> File scm/define-grob-properties.scm (right):
>
> http://codereview.appspot.com/5323062/diff/12001/scm/define-grob-properties.scm#newcode583
> scm/define-grob-properties.scm:583: (neighbors-filtered ,boolean?
> "Callback to filter an element list.")
> But 'neighbors-filtered' is not the callback, but the resulting list, is
> it not?
> The question I look here to answer is "how does LilyPond behave
> differently if elements-filtered is changed?"
>
It does nothing...this is bad property. I'll get rid of it tomorrow.
Cheers,
MS
- Re: Fixes NoteColumn vs SpanBar collisions. (issue 5323062), address@hidden, 2011/11/01
- Re: Fixes NoteColumn vs SpanBar collisions. (issue 5323062), dak, 2011/11/01
- Re: Fixes NoteColumn vs SpanBar collisions. (issue 5323062), address@hidden, 2011/11/01
- Re: Fixes NoteColumn vs SpanBar collisions. (issue 5323062), pkx166h, 2011/11/03
- Re: Fixes NoteColumn vs SpanBar collisions. (issue 5323062), k-ohara5a5a, 2011/11/04
- Re: Fixes NoteColumn vs SpanBar collisions. (issue 5323062),
address@hidden <=
- Re: Fixes NoteColumn vs SpanBar collisions. (issue 5323062), Keith OHara, 2011/11/04
- Re: Fixes NoteColumn vs SpanBar collisions. (issue 5323062), address@hidden, 2011/11/04
- Re: Fixes NoteColumn vs SpanBar collisions. (issue 5323062), Keith OHara, 2011/11/04
- Re: Fixes NoteColumn vs SpanBar collisions. (issue 5323062), address@hidden, 2011/11/04
- Re: Fixes NoteColumn vs SpanBar collisions. (issue 5323062), Keith OHara, 2011/11/04
- Re: Fixes NoteColumn vs SpanBar collisions. (issue 5323062), address@hidden, 2011/11/05
- Re: Fixes NoteColumn vs SpanBar collisions. (issue 5323062), Keith OHara, 2011/11/05
- Re: Fixes NoteColumn vs SpanBar collisions. (issue 5323062), address@hidden, 2011/11/05