[Top][All Lists]
[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 }
>>
}
}