bug-lilypond
[Top][All Lists]
Advanced

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

Re: Cross-staff beaming


From: Carl Sorensen
Subject: Re: Cross-staff beaming
Date: Sun, 29 May 2011 07:00:25 -0600

On 5/29/11 5:42 AM, "Hilary Snaden" <address@hidden> wrote:

> Phil Holmes wrote:
>> "Hilary Snaden" <address@hidden> wrote in message
>> news:address@hidden
>>> Manual beamings of cross-staff note groups are mangled, but
>>> inconsistently. The beaming in this extract works for the first 6 bars,
>>> then fails on beats 1 and 3 on the following bars. (Beamings on beats 2
>>> and 4 are as they were.) Versions 2.12.2, 2.13.61 and 2.13.62 behave in
>>> the same way.
>> 
>> Could you prepare a tiny example that demonstrates this, please? (See
>> http://lilypond.org/website/bug-reports.html)
> 
> The original example showed that the beam-mangling didn't start (in the
> real-world case) for several bars and that the mangling occurred only on
> the 1st and 3rd beats of the original 4/4. (Bugs within bugs?)

The beam-mangling is unrelated to the bar number (with the possible
exception of bar 1).  It also can easily be made to occur on beats 2 and 4.
See the code below for an example.

It most likely is related to a particular set of pitches compared with the
neighboring pitches; Mike Solomon would have a better idea of what is broken
here.  Hilary, if you can get the example even smaller, it would be helpful.

HTH,

Carl


\version "2.13.62"

csu = \change Staff = "upper"
csl = \change Staff = "lower"
sd = \stemDown
sn = \stemNeutral
su = \stemUp

manualBeam =
#(define-music-function (parser location beg-end)
   (pair?)
   #{
   \once \override Beam #'positions = #$beg-end
   #})

upper = \relative a {
   \clef treble \key a \major \time 4/4
   \su
   r16 \csl \manualBeam #'(1 . 1.5) ais^( g \csu e' % 7
   g16 \csl \manualBeam #'(1 . 1.5) ais,^( g \csu e' % 7
   \csl \manualBeam #'(1.5 . 2) ais, \csu g' e g) % 7
   r \csl \manualBeam #'(1 . 1.5) ais,^( g \csu e'
   \csl \manualBeam #'(1.5 . 2) ais, \csu g' e g) % 7
   r \csl \manualBeam #'(1 . 1.5) b,^( gis! \csu e' % 8
   \csl \manualBeam #'(1.5 . 2) b \csu gis' e gis) % 8
   r \csl \manualBeam #'(1 . 1.5) b,^( a \csu dis % 8
}

lower = \relative a, {
   \clef bass \key a \major \time 4/4
   \sd a4 r a r |
   a r a r |
}

\score {
   \new PianoStaff {
     <<
       \new Staff = "upper" { \upper }
       \new Staff = "lower" { \lower }
     >>
   }
}




reply via email to

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