Hi Lukas, > Example: If for some reason, the manuscript I'm copying has exceptional > beams of 4+2+2 instead of the usual 4+4 as in the second bar of > from Scarlatti's Partimenti (and I want to reproduce that beaming > faithfully), I have do to: > > c8 c' b a e[ e'] cis'[ d']
If this beaming is a consistent pattern you can do
%%%
{
\set beatStructure = 2,1,1
\set beamExceptions = #'()
8 8 8 8 8 8 8 8
}
%%%
If not I see what the issue is with
c8 c' b a e[ e'] cis'[ d']
> So basically I have to enter redundant information: I have to tell
> LilyPond to
>
> 1) start a beam on e,
> 2) end a beam on e',
> 3) start another beam on cis',
> 4) end that beam on d'.
You are not entering redundant information. Just some of that infomation
happens to align with the automatic behaviour. Should the automatic beaming
behaviour change at any point that information may be missing.
> I implemented this, and a corresponding mechanism for joining
> auto-beams, in a draft merge request to LilyPond proper:
> https://gitlab.com/lilypond/lilypond/-/merge_requests/2668
>
> With that addition, I can typeset the second bar above as:
>
> c8 c' b a e e' \| cis' d'
I don’t think this is in most cases a good thing to do. Overall writing
c8 c' b a e[ e'] cis'[ d']
is not really more effort than
c8 c' b a e e' \| cis' d'
But on the other hand the first notation gives precicesly what you want, while
the latter is somewhat fuzzy and relies on particular behaviour of the
autobeaming.
I think using autobeaming is accepting what Lilypond thinks is okay beaming.
When you use manual beaming you are deciding that you want to specify the
beaming yourself. But then you should not partially rely on autobeaming again
there. Because if then autobeaming behaviour changes (since the assumption is
that whatever Lilypond creates works for you, so this might improve in some
ways in future and that should be fine) your manual changes might not produce
what you want anymore.
I think there is a niche application where this a reasonable thing, which is
when you want to specify beaming deviations that are independent of the
surrounding beaming. E.g. if you use beaming to designate a new phrase that
will require a certain beaming in 4/4:
{ c'8 e' g' a' g'\noBeam e' d' f' e' d' c' d' }
but a different one in 6/8:
{ \time 6/8 c'8 e' g' a'[ g'] e' d' f' e' d' c' d' }
(But note that this usecase already works out using `\breathe`)
Or say you do vocal music where beams are used to give melisma, but you still
want to break up long beams. Then it might be useful to specify melima breaks,
rather than the full beaming.
But I suppose essentially your commands take the role of a `\forceBeamBreak`
and `\forbidBeamBreak`. Which I think is fine to have, but I think when you
want to be explicit with your beaming you should be explicit in beaming.
Cheers,
Tina
signature.asc
Description: This is a digitally signed message part.
