On Sun 07 Jun 2020 at 12:50:22 (+1000), Vaughan McAlley wrote:
> 
> Setting the beat structure for beam subdivision seems to persist through
> time signature changes. I think it would be preferable to reset everything
> at a change of time signature, just like what happens to beamExceptions.

Does doing it like this help at all? I've commented some of your lines
with %%.

Cheers,
David.
\version "2.20.0"

\version "2.19.49" % 2016-07-27

%% Beam compound dotted crochets separately.
%% 2.18.2 can't parse this format for beatStructure

\layout {
  \context {
    \Score
    \overrideTimeSignatureSettings
    6/8 % timeSignatureFraction
    1/8 % baseMomentFraction
    3,3 % beatStructure
    #'() % beamExceptions
    \overrideTimeSignatureSettings
    9/8 % timeSignatureFraction
    1/8 % baseMomentFraction
    3,3,3 % beatStructure
    #'() % beamExceptions
    \overrideTimeSignatureSettings
    12/8 % timeSignatureFraction
    1/8 % baseMomentFraction
    3,3,3,3 % beatStructure
    #'() % beamExceptions
  }
}

\version "2.19.49" % 2017-11-28

%% Beam crochets separately.
%% 2.18.2 can't parse this format for beatStructure

\layout {
  \context {
    \Score
    \overrideTimeSignatureSettings
    2/2 % timeSignatureFraction
    1/8 % baseMomentFraction
    2,2,2,2 % beatStructure
    #'() % beamExceptions
    \overrideTimeSignatureSettings
    3/2 % timeSignatureFraction
    1/8 % baseMomentFraction
    2,2,2,2,2,2 % beatStructure
    #'() % beamExceptions
    \overrideTimeSignatureSettings
    4/2 % timeSignatureFraction
    1/8 % baseMomentFraction
    2,2,2,2,2,2,2,2 % beatStructure
    #'() % beamExceptions
    \overrideTimeSignatureSettings
    3/4 % timeSignatureFraction
    1/8 % baseMomentFraction
    2,2,2 % beatStructure
    #'() % beamExceptions
    \overrideTimeSignatureSettings
    4/4 % timeSignatureFraction
    1/8 % baseMomentFraction
    2,2,2,2 % beatStructure
    #'() % beamExceptions
    \overrideTimeSignatureSettings
    5/4 % timeSignatureFraction
    1/8 % baseMomentFraction
    2,2,2,2,2 % beatStructure
    #'() % beamExceptions
    \overrideTimeSignatureSettings
    6/4 % timeSignatureFraction
    1/8 % baseMomentFraction
    2,2,2,2,2,2 % beatStructure
    #'() % beamExceptions
    \overrideTimeSignatureSettings
    7/4 % timeSignatureFraction
    1/8 % baseMomentFraction
    2,2,2,2,2,2,2 % beatStructure
    #'() % beamExceptions
    \overrideTimeSignatureSettings
    8/4 % timeSignatureFraction
    1/8 % baseMomentFraction
    2,2,2,2,2,2,2,2 % beatStructure
    #'() % beamExceptions
  }
}

\score {
  \relative c' {
    \time 4/4
    c8 d16 e f32 e d c d e f g a8 b c4 |
    \bar "||"
    \time 9/8
    c,8^"Expected behaviour" d e e f g g a b |
    \bar "||"
    \break
    \time 4/4
    \set subdivideBeams = ##t
    %%\set baseMoment = #(ly:make-moment 1/8)
    %%\set beatStructure = 2,2,2,2
    c,8 d16 e f32 e d c d e f g a8 b c4 |
    \bar "||"
    % \time 3,3,3 9/8 doesn't work
    \time 9/8
    \set subdivideBeams = ##f % this makes no difference
    c,8^"???" d e e f g g a b |
    \bar "||"
    % This should be unnecessary
    %%\set baseMoment = #(ly:make-moment 1/8)
    %%\set beatStructure = 3,3,3
    c,8^"Better" d e e f g g a b |
    \bar "||"
  }
  \layout {}
}

Reply via email to