連桁を細分する
16 分音符 (あるいはそれより短い音符) の連桁は、デフォルトでは細分されません。つまり、3 つ以上の音符全体が分かれることなく平等に連桁で繋がれます。この挙動は、subdivideBeams プロパティをセットすることで、連桁を細分するように変更することができます。このプロパティがセットされると、連桁が現在の beatBase の間隔で細分されて表示されるようになります。分割された後の音符全体の長さが分割長より短い (不完全な連桁) 場合は、連桁の本数は可能な最長分割グループが基になります。しかし、分割された後の音符が 1 つしか存在しない場合、この制限は適用されません。
beatBase は、明示的にセットされなければ、現在の拍子記号の分母分の 1 に設定されます。beatBase は、このスニペットのように
ly:make-moment 関数を用いて、連桁を分割する単位となる長さを分数で指定する必要があります。また、beatBase が変更された場合、beatStructure も新たな
beatBase に合わせて変更する必要があります:
\relative c'' {
\time 1/4
<>^"default"
c32 c c c c c c c
<>^"with subdivision"
\set subdivideBeams = ##t
c32 c c c c c c c
<>^"min 1/8"
\once \set beamMinimumSubdivision = #1/8
c32 c c c c c c c
<>^"max 1/16"
\once \set beamMaximumSubdivision = #1/16
c32 c c c c c c c
<>^"max 3/8"
\once \set beamMaximumSubdivision = #3/8
\repeat unfold 16 c64
<>^"min 1/32, max 1/64"
% Set maximum beam subdivision interval to 1/64 to limit
% subdivision depth, despite not being metrically correct.
\once \set beamMinimumSubdivision = #1/32
\once \set beamMaximumSubdivision = #1/64
\repeat unfold 32 c128
\break
<>^"beams with incomplete subdivisions"
c32 c c c c c c r32
c32 c c c c r16.
<>^\markup { "the same with"
\typewriter { "respectIncomplete=#t" } }
\set respectIncompleteBeams = ##t
% The incomplete subgroup extends the completed subgroup.
c32 c c c c c c r32
% No visual change since we have only two stems in the
% incomplete subgroup.
c32 c c c c r16.
}