lilypond-devel
[Top][All Lists]
Advanced

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

Re: Broken Forbid_line_break_engraver with Completion_heads


From: Mats Bengtsson
Subject: Re: Broken Forbid_line_break_engraver with Completion_heads
Date: Fri, 15 Aug 2008 10:06:25 +0200
User-agent: Thunderbird 2.0.0.5 (X11/20070716)

I agree with Trevor. This is a feature, not a bug. If you search the mailing list archives, you will find a number of complaints and questions about the fact that you couldn't get a line break when the Completion_heads_engraver had split notes, even though you normally can have a line break if the same tie had been inserted manually. The only reason that the discussion about Forbid_line_break_engraver in combination with Completion_heads_engraver, was introduced in the manual, was to show how to workaround this previous silly limitation.

  /Mats

Trevor Daniels wrote:

Carl

Why do you want a tied note to forbid a line break?
It is preferable that it permits it, surely?

Trevor

----- Original Message ----- From: "Carl D. Sorensen" <address@hidden>
To: "LilyPond Development" <address@hidden>
Cc: "Han-Wen Nienhuys" <address@hidden>
Sent: Friday, August 15, 2008 3:07 AM
Subject: Broken Forbid_line_break_engraver with Completion_heads


The code below

%%%%%
\paper{
 ragged-right=##f
 line-width=3\cm
 indent=0\cm
}

\new Voice \with {
\remove "Note_heads_engraver"
\consists "Completion_heads_engraver"
%\remove "Forbid_line_break_engraver"
}
\relative c'  {
 e4 e e e2 % Line break should be forbidden here, but it's not
 f4 f f
}

%%%%%%%%%%%

caused both measures to be compressed onto one line up until 2.11.45-1.

In all later releases, each measure gets its own line, which I think the
Forbid_line_break_engraver should prevent.

The behavior changed at commit 0030e7e6ab44b0050238ba2e5e220b184cde70b,
when completionBusy was added to the Melisma and the "length of the
generated note head" was adjusted so the "busyGrobs list is correctly
calculated".

I think that this means there is now no busyGrob crossing the measure
boundary, to Forbid_line_break_engraver is free to break.

I suspect that the fix is to have Forbid_line_break_engraver check both
busyGrobs and completionBusy, but I don't know the code well enough to make
this change.

The commit that changed the behavior was made by Han-Wen.

If you'd like, I'll file this as a bug report.

Thanks,

Carl



_______________________________________________
lilypond-devel mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/lilypond-devel



_______________________________________________
lilypond-devel mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/lilypond-devel

--
=============================================
        Mats Bengtsson
        Signal Processing
        School of Electrical Engineering
        Royal Institute of Technology (KTH)
        SE-100 44  STOCKHOLM
        Sweden
        Phone: (+46) 8 790 8463                         
       Fax:   (+46) 8 790 7260
        Email: address@hidden
        WWW: http://www.s3.kth.se/~mabe
=============================================





reply via email to

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