+ (padding . 0.6)
+ (minimum-space . 1.2)
+ (direction . -1)
+ (meta . ((interfaces . (dynamic-interface axis-group-interface side-position-interface))))
+ ))
+
+ (LeftEdge
+ . (
+ (break-align-symbol . left-edge)
+ (X-offset-callbacks . (,Break_align_interface::alignment_callback))
+ (X-extent-callback . ,Grob::point_dimension_callback)
+ (breakable . #t)
+ (space-alist . (
+ (time-signature . (extra-space . 0.0))
+ (staff-bar . (extra-space . 0.0))
+ (breathing-sign . (minimum-space . 0.0))
+ (clef . (extra-space . 1.0))
+ (first-note . (extra-space . 0.0))
+ (key-signature . (extra-space . 0.0))
+ ))
+ (meta . ((interfaces . (break-aligned-interface))))
+ ))
+
+ (Fingering
+ . (
+ (molecule-callback . ,Text_item::brew_molecule)
+ (X-offset-callbacks . (,Side_position_interface::centered_on_parent
+ ,Side_position_interface::aligned_on_self))
+ (padding . 0.6)
+ ; (direction . -1)
+ (self-alignment-X . 0)
+ (self-alignment-Y . 0)
+ (font-family . number)
+ (font-relative-size . -3)
+ (font-shape . upright)
+ (meta . ((interfaces . (finger-interface font-interface text-script-interface text-interface side-position-interface))))
+ ))
+
+
+ (HaraKiriVerticalGroup
+ . (
+ (Y-offset-callbacks . (,Hara_kiri_group_spanner::force_hara_kiri_callback))
+ (Y-extent-callback . ,Hara_kiri_group_spanner::y_extent)
+ (axes . (1))
+ (meta . ((interfaces . (axis-group-interface hara-kiri-group-interface))))
+ ))
+
+ (Hairpin
+ . (
+ (molecule-callback . ,Hairpin::brew_molecule)
+ (thickness . 1.0)
+ (height . 0.6666)
+ (spacing-procedure . ,Spanner::set_spacing_rods)
+ (minimum-length . 2.0)
+ (if-text-padding . 1.0)
+ (width-correct . -1.0)
+
+ (dash-thickness . 1.2)
+ (dash-length . 4.0)
+ (self-alignment-Y . 0)
+ (Y-offset-callbacks . (,Side_position_interface::aligned_on_self))
+ (meta . ((interfaces . (hairpin-interface dynamic-interface))))
+ ))
+
+ (InstrumentName
+ . (
+ (breakable . #t)
+ (Y-offset-callbacks . (,Side_position_interface::aligned_on_self
+ ,Side_position_interface::aligned_on_support_refpoints))
+ ;; huh? what's this for?
+ (direction . 0)
+ (space-alist . (
+ (left-edge . (extra-space . 1.0))
+ ))
+
+ (self-alignment-Y . 0)
+ (molecule-callback . ,Text_item::brew_molecule)
+ (break-align-symbol . instrument-name)
+ (visibility-lambda . ,begin-of-line-visible)
+ (baseline-skip . 2)
+ (font-family . roman)
+ (meta . ((interfaces . (font-interface side-position-interface text-interface break-aligned-interface))))
+ ))
+
+ (KeySignature
+ . (
+ (molecule-callback . ,Key_signature_interface::brew_molecule)
+ (space-alist . (
+ (time-signature . (extra-space . 1.25))
+ (staff-bar . (extra-space . 1.1))
+ (first-note . (extra-space . 2.5))
+ ))
+ (Y-offset-callbacks . (,Staff_symbol_referencer::callback))
+ (break-align-symbol . key-signature)
+ (visibility-lambda . ,begin-of-line-visible)
+ (breakable . #t)
+ (meta . ((interfaces . (key-signature-interface font-interface break-aligned-interface))))
+ ))
+
+
+ (LyricHyphen
+ . (
+ (thickness . 1.0)
+ (height . 0.4)
+ (minimum-length . 0.5)
+ (maximum-length . 100)
+ (molecule-callback . ,Hyphen_spanner::brew_molecule)
+ (Y-extent-callback . ,Grob::point_dimension_callback)
+ (meta . ((interfaces . (lyric-hyphen-interface))))
+ ))
+
+ (LyricExtender
+ . (
+ (molecule-callback . ,Lyric_extender::brew_molecule)
+ (height . 0.8) ; stafflinethickness;
+ (right-trim-amount . 0.5)
+ (Y-extent-callback . ,Grob::point_dimension_callback)
+ (meta . ((interfaces . (lyric-extender-interface))))
+ ))
+
+ (LyricText
+ . (
+ (molecule-callback . ,Text_item::brew_molecule)
+ (X-offset-callbacks . (,Side_position_interface::aligned_on_self))
+ (self-alignment-X . 0)
+ (non-rhythmic . #t)
+ (word-space . 0.6)
+ (ignore-length-mismatch . #f)
+ (begin-alignment . 4)
+ (end-alignment . 2)
+ (font-family . roman)
+ (font-shape . upright)
+ ;; duh, side-position-interface?
+ (meta . ((interfaces . (lyric-syllable-interface side-position-interface text-interface font-interface))))
+ ))
+
+ (Porrectus
+ . (
+ (style . mensural)
+ (auto-properties . #f)
+ (solid . #f)
+ (width . 2.4)
+ (thickness . 1.0)
+ (add-stem . #t)
+ (direction . 1)
+ (molecule-callback . ,Porrectus::brew_molecule)
+ (meta . ((interfaces . (porrectus-interface))))
+ ))
+
+ (RehearsalMark
+ . (
+ (molecule-callback . ,Text_item::brew_molecule)
+ (X-offset-callbacks . (,Side_position_interface::aligned_on_self))
+ (self-alignment-X . 0)
+
+ (direction . 1)
+ (breakable . #t)
+ (font-family . roman)
+ (font-shape . upright)
+ (font-relative-size . 1)
+ (visibility-lambda . ,end-of-line-invisible)
+ (padding . 0.8)
+ (meta . ((interfaces . (text-interface font-interface mark-interface side-position-interface))))
+ ))
+
+ (MultiMeasureRest
+ . (
+ (spacing-procedure . ,Multi_measure_rest::set_spacing_rods)
+ (molecule-callback . ,Multi_measure_rest::brew_molecule)
+ (Y-offset-callbacks . (,Staff_symbol_referencer::callback))
+ (staff-position . 0)
+ (expand-limit . 10)
+ (thickness . 6.6)
+ (font-family . number)
+ (meta . ((interfaces . (multi-measure-rest-interface rest-interface font-interface staff-symbol-referencer-interface))))
+ ))
+
+ (NoteCollision
+ . (
+ (axes . (0 1))
+ ;; Ugh, should not be hard-coded.
+ (note-width . 1.321)
+ (X-extent-callback . ,Axis_group_interface::group_extent_callback)
+ (Y-extent-callback . ,Axis_group_interface::group_extent_callback)
+ (meta . ((interfaces . (note-collision-interface axis-group-interface))))
+ ))
+
+ (NoteColumn
+ . (
+ (axes . (0 1))
+ (X-extent-callback . ,Axis_group_interface::group_extent_callback)
+ (Y-extent-callback . ,Axis_group_interface::group_extent_callback)
+ (meta . ((interfaces . (axis-group-interface note-column-interface))))
+ ))
+
+ (NoteHead
+ . (
+ (style . default)
+ (molecule-callback . ,Note_head::brew_molecule)
+ (Y-offset-callbacks . (,Staff_symbol_referencer::callback))
+ (stem-attachment-function . ,note-head-style->attachment-coordinates)
+ (meta . ((interfaces . (rhythmic-head-interface font-interface note-head-interface staff-symbol-referencer-interface))))
+ ))
+
+ (Glissando
+ . (
+ (type . line)
+ (gap . 0.5)
+ (breakable . #t)
+ (X-extent-callback . #f)
+ (Y-extent-callback . #f)
+ (molecule-callback . ,Line_spanner::brew_molecule)
+ (meta . ((interfaces . (line-spanner-interface))))
+ ))
+
+ (VoiceFollower
+ . (
+ (type . line)
+ (gap . 0.5)
+ (breakable . #t)
+ (X-extent-callback . #f)
+ (Y-extent-callback . #f)
+ (molecule-callback . ,Line_spanner::brew_molecule)
+ (meta . ((interfaces . (line-spanner-interface))))
+ ))
+
+ (NoteName
+ . (
+ (molecule-callback . ,Text_item::brew_molecule)
+ (font-family . roman)
+ (meta . ((interfaces . (note-name-interface text-interface font-interface))))
+ ))
+
+ (OctavateEight
+ . (
+ (self-alignment-X . 0)
+ (text . "8")
+ (visibility-lambda . ,begin-of-line-visible)
+ (X-offset-callbacks . (,Side_position_interface::centered_on_parent ,Side_position_interface::aligned_on_self))
+ (Y-offset-callbacks . (,Side_position_interface::aligned_side))
+ (molecule-callback . ,Text_item::brew_molecule)
+ (font-shape . italic)
+ (font-family . roman)
+ (meta . ((interfaces . (text-interface side-position-interface font-interface))))
+ ))
+
+ (PaperColumn
+ . (
+ (axes . (0))
+ (X-extent-callback . ,Axis_group_interface::group_extent_callback)
+
+; (molecule-callback . ,Paper_column::brew_molecule) (font-name . "cmr8") (Y-extent-callback . #f)
+ (meta . ((interfaces . (paper-column-interface axis-group-interface spaceable-grob-interface))))
+ ))
+
+ (PhrasingSlur
+ . (
+ (molecule-callback . ,Slur::brew_molecule)
+ (thickness . 1.2)
+ (spacing-procedure . ,Spanner::set_spacing_rods)
+ (minimum-length . 1.5)
+ (after-line-breaking-callback . ,Slur::after_line_breaking)
+ (extremity-rules . ,default-slur-extremity-rules)
+ (extremity-offset-alist . ,default-phrasing-slur-extremity-offset-alist)
+ (de-uglify-parameters . (1.5 0.8 -2.0))
+ (Y-extent-callback . ,Slur::height)
+ (details . ((height-limit . 2.0) (ratio . 0.333) (force-blowfit . 0.5)
+ (bezier-pct-c0 . -0.2) (bezier-pct-c3 . 0.000006)
+ (bezier-pct-out-max . 0.8) (bezier-pct-in-max . 1.2)
+ (bezier-area-steps . 1.0)))
+ (beautiful . 0.5)
+ (y-free . 0.75)
+ (attachment . (#f . #f))
+ (attachment-offset . ((0 . 0) . (0 . 0)))
+ (slope-limit . 0.8)
+ (meta . ((interfaces . (slur-interface))))
+ ))
+
+ (NonMusicalPaperColumn
+ . (
+ (axes . (0))
+ (X-extent-callback . ,Axis_group_interface::group_extent_callback)
+
+ ;; debugging stuff: print column number.
+; (molecule-callback . ,Paper_column::brew_molecule) (font-name . "cmr8") (Y-extent-callback . #f)
+
+
+ (meta . ((interfaces . (paper-column-interface axis-group-interface spaceable-grob-interface))))
+ ))
+
+ (PercentRepeat
+ . (
+ (spacing-procedure . ,Multi_measure_rest::set_spacing_rods)
+ (molecule-callback . ,Multi_measure_rest::percent)
+ (slope . 1.0)
+ (thickness . 0.48)
+ (minimum-width . 12.5) ; staffspace
+ (font-family . music)
+ (meta . ((interfaces . (multi-measure-rest-interface font-interface percent-repeat-interface))))
+ ))
+
+ (PianoPedalBracket ;; an example of a text spanner
+ . (
+ (molecule-callback . ,Text_spanner::brew_molecule)
+ (font-family . roman)
+ (type . line)
+ (if-text-padding . 1.0)
+ (width-correct . 0)
+ (outer . #t)
+ (direction . -1)
+ (edge-width . (0.5 . 0.5))
+ (edge-height . (1.0 . 1.0))
+ (shorten-pair . (0.0 . 0.0))
+ (thickness . 1.0)
+ (meta . ((interfaces . (piano-pedal-interface))))
+ ))
+
+ (RepeatSlash
+ . (
+ (molecule-callback . , Percent_repeat_item_interface::beat_slash)
+ (thickness . 0.48)
+ (slope . 1.7)
+ (meta . ((interfaces . (percent-repeat-interface))))
+ ))
+ (Rest
+ . (
+ (after-line-breaking-callback . ,Rest::after_line_breaking)
+ (X-extent-callback . ,Rest::extent_callback)
+ (Y-extent-callback . ,Rest::extent_callback)
+ (molecule-callback . ,Rest::brew_molecule)
+ (Y-offset-callbacks . (,Staff_symbol_referencer::callback))
+ (minimum-beam-collision-distance . 1.5)
+ (meta . (
+ (interfaces . (font-interface
+ rhythmic-head-interface
+ staff-symbol-referencer-interface
+ rest-interface))
+ ))))
+
+ (RestCollision
+ . (
+ (minimum-distance . 0.75)
+ (meta . ((interfaces . (rest-collision-interface))))
+ ))
+
+ (Script
+ . (
+ ;; don't set direction here: it breaks staccato.
+ (molecule-callback . ,Script::brew_molecule)
+ (padding . 0.29)
+ (X-offset-callbacks . (,Side_position_interface::centered_on_parent))
+ (before-line-breaking-callback . ,Script::before_line_breaking)
+ (font-family . music)
+ (meta . ((interfaces . (script-interface side-position-interface font-interface))))
+ ))
+
+ (ScriptColumn
+ . (
+ (before-line-breaking-callback . ,Script_column::before_line_breaking)
+ (meta . ((interfaces . (script-column-interface))))
+ ))
+
+ (Slur
+ . (
+ (molecule-callback . ,Slur::brew_molecule)
+ (thickness . 1.2)
+ (spacing-procedure . ,Spanner::set_spacing_rods)
+ (minimum-length . 1.5)
+ (after-line-breaking-callback . ,Slur::after_line_breaking)
+ (extremity-rules . ,default-slur-extremity-rules)
+ (extremity-offset-alist . ,default-slur-extremity-offset-alist)
+ (de-uglify-parameters . (1.5 0.8 -2.0))
+ (Y-extent-callback . ,Slur::height)
+ (details . ((height-limit . 2.0) (ratio . 0.333) (force-blowfit . 0.5)
+ (bezier-pct-c0 . -0.2) (bezier-pct-c3 . 0.000006)
+ (bezier-pct-out-max . 0.8) (bezier-pct-in-max . 1.2)
+ (bezier-area-steps . 1.0)))
+ (beautiful . 0.5)
+ (y-free . 0.75)
+ (attachment . (#f . #f))
+ (attachment-offset . ((0 . 0) . (0 . 0)))
+ (slope-limit . 0.8)
+ (meta . ((interfaces . (slur-interface))))
+ ))
+
+ (SpacingSpanner
+ . (
+ (spacing-procedure . ,Spacing_spanner::set_springs)
+ (grace-space-factor . 0.5)
+
+ (shortest-duration-space . 2.0)
+ (spacing-increment . 1.2)