lilypond-user
[Top][All Lists]
Advanced

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

Re: Forbid_line_break_engraver


From: Adam James Wilson
Subject: Re: Forbid_line_break_engraver
Date: Mon, 20 Aug 2007 10:51:05 -0400

Terribly sorry - I just discovered that adding

\context { \Staff
\override Beam #'breakable = ##t
}

will produce the correct page breaking results.  Adding this (IMHO) to
the example in the bug report from August 17 titled
"Forbid_line_break_engraver" shows that the example is NOT buggy after
all.

Best regards,
Adam

On 8/19/07, Adam James Wilson <address@hidden> wrote:
> My apologies for so many postings on this issue -
>
> It turns out you can get proportional notation for two staves in
> different tempos WITHIN pages, but not ACROSS pages.
>
> Lilypond seems to be fine with page breaking through a note duration,
> but NOT fine with breaking through a note duration if the note has a
> beam that connects it to the next note.
>
> In order to get true proportional notation that continues across more
> than one page, it would seem necessary to be able to slice a system
> right through beams.
>
> There are two examples attached that illustrate this (similar to Mats'
> example in the bug report from August 17th titled
> "Forbid_line_break_engraver again").   They are identical except that
> the notes are beamed together in the second example.
>
> In the first, without the beams, the music is broken into 4 pages as expected.
>
> In the second, only two page breaks are allowed, and it seems that
> beams are the culprits.  The console prints "warning: forced break was
> overridden by some other event, should you be using bar checks?"
> multiple times.
>
> %%% EXAMPLE 1 (expected results) %%%
>
> \version "2.11.29"
>
> \layout {
>
> \context { \Score
> \remove "Timing_translator"
> \remove "Default_bar_line_engraver"
> \override SpacingSpanner #'uniform-stretching = ##t
> \override SpacingSpanner #'strict-note-spacing = ##t
> proportionalNotationDuration = #(ly:make-moment 1 128)
> }
>
> \context { \Staff
>
> \consists "Timing_translator"
> \consists "Default_bar_line_engraver"
> }
>
> \context { \Voice
> \remove Forbid_line_break_engraver
> }
>
> }
>
> global = { \repeat unfold 4 { \skip 4. \bar "" \pageBreak} }
>
> \new StaffGroup <<
>
> \new Staff <<
>
>         \global
>
>         {
>
>         \time 12/8
>
>         \set Staff.timeSignatureFraction = #'(3 . 8)
>         \repeat unfold 4 { c8 c8 c8 \bar "|" }
>
> }
>
> >>
>
> \new Staff <<
>
>         \global
>
>         {
>
>         \time 12/8
>
>         \compressMusic #'(12 . 17) {
>                 \set Staff.timeSignatureFraction = #'(3 . 8)
>                 \repeat unfold 5 { c8 c8 c8 \bar "|" }
>                 \set Staff.timeSignatureFraction = #'(2 . 8)
>                 c8 c8 \bar "|"
>
>         }
> }
>
> >>
>
> >>
>
> %%% EXAMPLE 2 (beams prevent breaks) %%%
>
>
> \version "2.11.29"
>
> \layout {
>
> \context { \Score
> \remove "Timing_translator"
> \remove "Default_bar_line_engraver"
> \override SpacingSpanner #'uniform-stretching = ##t
> \override SpacingSpanner #'strict-note-spacing = ##t
> proportionalNotationDuration = #(ly:make-moment 1 128)
> }
>
> \context { \Staff
>
> \consists "Timing_translator"
> \consists "Default_bar_line_engraver"
> }
>
> \context { \Voice
> \remove Forbid_line_break_engraver
> }
>
> }
>
> global = { \repeat unfold 4 { \skip 4. \bar "" \pageBreak} }
>
> \new StaffGroup <<
>
> \new Staff <<
>
>         \global
>
>         {
>
>         \time 12/8
>
>         \set Staff.timeSignatureFraction = #'(3 . 8)
>         \repeat unfold 4 { c8[ c8 c8] \bar "|" }
>
> }
>
> >>
>
> \new Staff <<
>
>         \global
>
>         {
>
>         \time 12/8
>
>         \compressMusic #'(12 . 17) {
>                 \set Staff.timeSignatureFraction = #'(3 . 8)
>                 \repeat unfold 5 { c8[ c8 c8] \bar "|" }
>                 \set Staff.timeSignatureFraction = #'(2 . 8)
>                 c8[ c8] \bar "|"
>
>         }
> }
>
> >>
>
> >>
>




reply via email to

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