lilypond-devel
[Top][All Lists]
Advanced

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

Re: Reduces algorithm time by prefinding footnoted grobs (issue4213042)


From: Mike Solomon
Subject: Re: Reduces algorithm time by prefinding footnoted grobs (issue4213042)
Date: Wed, 2 Mar 2011 11:08:35 -0500

On Mar 2, 2011, at 8:05 AM, Mike Solomon wrote:

> On Mar 2, 2011, at 7:23 AM, address@hidden wrote:
> 
>> I haven't had time to look at this carefully, but I'll have closer look
>> later. What I don't understand, though, is why this problem needs such
>> extensive changes. If it's just a matter of preventing repeated
>> footnotes at the beginning/end of a line, it should be enough to examine
>> footnote->get_column ()->get_rank ()
>> and possibly
>> footnote->get_parent (X_AXIS)->get_property ("break-visibility")
>> when you're constructing a Line_details.
>> 
> 
> This may work - I honestly don't know.  I'll look into doing it this way.
> 

I had a chance to mull over it a little bit.
When I compile the following minimal example from Neil:

\new Staff \with { \consists "Footnote_engraver" }
\relative c' {
 \footnoteGrob #'TimeSignature #'(0 . 2) "foo" "bar"
 c1
}

as I populate the grob vector, pacifier prints to the command line tell me that 
all 3 time signatures have a rank of 0 and yield true for is_visible ().  The 
only way I can think of weeding the fake ones out is by killing the ones with 
no x-extent.  Your suggestion does, however, seem to tie into cases like:

\new Staff \with { \consists "Footnote_engraver" }
\relative c' {
 c1 \time 3/4 \break \pageBreak \footnoteGrob #'TimeSignature #'(0 . 2) "foo" 
"bar" c2.

}


Which currently prints two footnotes on the second.

Broken grobs are definitely not my specialty: I'm having trouble figuring out a 
good way to deal with them @ an early stage in the game instead of applying 
kludge on top of kludge.  If any of you know this part of the source well & can 
suggest a concise and elegant fix, your input would be appreciated!

Cheers,
MS


reply via email to

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