lilypond-devel
[Top][All Lists]
Advanced

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

Re: Move New_dynamic_engraver over the unused Dynamic_engraver (issue 14


From: dak
Subject: Re: Move New_dynamic_engraver over the unused Dynamic_engraver (issue 14460043)
Date: Sun, 06 Oct 2013 23:10:16 +0000

On 2013/10/06 23:00:25, thomasmorley651 wrote:
Although, I can't review C++, I've applied the patch for testing
(hopefully
without mistake)

Testing this code

{ c''1_\mf^\> \break d''_\mp^\! }

I've got:

programming error: Spanner `Hairpin' is not fully contained in parent
spanner.
Ignoring orphaned part
{ c''1_\mf
           ^\> \break d''_\mp^\! }

Same error as in 2.17.27.
Any chance to make it work?

And what is "parent spanner" here?
The old dynamic-engraver seemed to collect Hairpins/DynamicText in the
DynamicLineSpanner (I suppose this was the former "parent spanner"),
does the
new one different?

At least this coding prints the same with and without your patch:

{
   \override DynamicLineSpanner #'after-line-breaking =
     #(lambda (grob)
        (display (ly:grob-object grob 'elements)))

   c''1_\mf^\> d''_\mp^\!
}

Or am I completely wrong and this patch has nothing to do with the
problem
above?

In this case, you are completely wrong.  LilyPond currently has a
"Dynamic_engraver" in its code base that has not been used by LilyPond
itself since 2.11.something.  It may or may not work differently with
this problem: no idea.  But the code has not been exercised in all that
time, including rather large reorganizations in 2.15 and 2.17.  So I
decided to throw out that old code and rename the "New_dynamic_engraver"
which has been used all that time into "Dynamic_engraver".

That's all.  No change in behavior or bugs is expected here: it's just a
removal of dead code.  I wasted some time trying out things in
lily/dynamic-engraver.cc before noticing that the engraver is not
actually used anywhere.

https://codereview.appspot.com/14460043/



reply via email to

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