> On 26 Apr 2023, at 18:04, David Poon <dpor...@gmail.com> wrote: > > On Wed, 26 Apr 2023 at 08:35, Hans Aikema <hans.aik...@aikebah.net > <mailto:hans.aik...@aikebah.net>> wrote: >> >> >>> On 26 Apr 2023, at 17:06, Mats Bengtsson <mat...@kth.se >>> <mailto:mat...@kth.se>> wrote: >>> >>> >>> On 2023-04-26 16:39, Michael Werner wrote: >>>> \version "2.25.4" >>>> >>>> \new Staff = "main" { >>>> >>>> \overrideTimeSignatureSettings >>>> 4/4 % timeSignatureFraction - i.e. the time signature >>>> 1/4 % baseMomentFraction - what note duration to base this on >>>> 1,1,1,1 % beatStructure - this is the beat pattern >>>> #'() % beamExceptions - needed to disable the defaults, or some >>>> such thing >>>> >>>> \new Voice { >>>> \time 4/4 >>>> >>>> \relative c' { >>>> d4 d4. e8 e e >>>> } >>>> } >>>> } >>>> >>> Unfortunately that doesn't answer the question, since then d4 d4 d8 d8 d8 >>> d8 will also be beamed by quarter notes. As far as I know the answer to >>> David's question is that it cannot be obtained using the current support >>> for automatic beams. The beam decisions is only taken based on the shortest >>> duration encountered since the possible start of the current beam. A more >>> advanced support would be needed to be able to specify more specific >>> beaming patterns. >>> >>> /Mats >>> >> >> I suspect that more advanced support is already there with the >> beamExceptions (which the should be specified as a non-empty a-list >> >> https://lilypond.org/doc/v2.24/Documentation/notation/beams#setting-automatic-beam-behavior >> >> but I've never experimented with it. >> > > After trying various things with beamExceptions, it looks to me like they're > restricted to defining permissible endpoints for beams, but not starting > points. Perhaps someone can verify if this is true, and if it's possible to > change? >
After a look into the code-base I see that I was indeed mistaken that beamExceptions could be used for it. Looks like you would have to reconfigure the autoBeamCheck [1] into some other procedure than the default-auto-beam-check procedure [1] which would not allow START to occur mid-beat (in the 4/4 time signature) [1] https://gitlab.com/search?search=autoBeamCheck&nav_source=navbar&project_id=18695663&group_id=11436&search_code=true&repository_ref=master [2] https://gitlab.com/lilypond/lilypond/-/blob/master/scm/auto-beam.scm This would exceed my lilypond-coding-skill level, but I’m fairly certain that it can be done (as a last resort hacky way it should be possible to hack it into your own install of lilypond by modifying auto-beam.scm, but I’m fairly certain there will be cleaner ways to override the default autoBeamCheck procedure which other list-members might be able to guide you on.