+ (gap . 0.8)
+ (neutral-direction . ,DOWN)
+ (positions . ,(ly:make-simple-closure
+ (ly:make-simple-closure
+ (list chain-grob-member-functions
+ `(,cons 0 0)
+ ly:beam::calc-least-squares-positions
+ ly:beam::slope-damping
+ ly:beam::shift-region-to-valid
+ ly:beam::quanting
+ ))))
+
+ ;; this is a hack to set stem lengths, if positions is set.
+ (quantized-positions . ,ly:beam::set-stem-lengths)
+
+ (shorten . ,ly:beam::calc-stem-shorten)
+ (stencil . ,ly:beam::print)
+
+ (meta . ((class . Spanner)
+ (object-callbacks . ((normal-stems . ,ly:beam::calc-normal-stems)))
+ (interfaces . (beam-interface
+ font-interface
+ staff-symbol-referencer-interface
+ unbreakable-spanner-interface))))))
+
+ (BendAfter
+ . (
+ (minimum-length . 0.5)
+ (stencil . ,bend::print)
+ (thickness . 2.0)
+ (meta . ((class . Spanner)
+ (interfaces . (bend-after-interface
+ spanner-interface))))))
+
+ (BreakAlignGroup
+ . (
+ (axes . (,X))
+ (break-align-anchor . ,ly:break-aligned-interface::calc-average-anchor)
+ (break-visibility . ,ly:break-aligned-interface::calc-break-visibility)