+
+ (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 . (,Self_alignment_interface::aligned_on_self))
+ (Y-offset-callbacks . (,Side_position_interface::aligned_side))
+ (self-alignment-X . 0)
+
+ (direction . 1)
+ (breakable . #t)
+ (font-family . roman)
+ (baseline-skip . 2)
+ (break-visibility . ,end-of-line-invisible)
+ (padding . 0.8)
+ (meta . ((interfaces . (text-interface side-position-interface font-interface mark-interface self-alignment-interface item-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)
+ (number-threshold . 1)
+ (padding . 1)
+ (thickness . 6.6)
+ (font-family . number)
+ (padding . 1)
+ (meta . ((interfaces . (multi-measure-rest-interface rest-interface font-interface staff-symbol-referencer-interface spanner-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 item-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 item-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 item-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 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 spanner-interface))))
+ ))
+
+ (NoteName
+ . (
+ (molecule-callback . ,Text_item::brew_molecule)
+ (font-family . roman)
+ (meta . ((interfaces . (note-name-interface text-interface font-interface item-interface ))))
+ ))
+
+ (OctavateEight
+ . (
+ (self-alignment-X . 0)
+ (text . "8")
+ (break-visibility . ,begin-of-line-visible)
+ (X-offset-callbacks . (,Self_alignment_interface::centered_on_parent ,Self_alignment_interface::aligned_on_self))
+ (Y-offset-callbacks . (,Side_position_interface::aligned_side))
+ (molecule-callback . ,Text_item::brew_molecule)
+ (font-shape . italic)
+ (padding . 0.4)
+ (font-relative-size . -2)
+ (font-family . roman)
+ (meta . ((interfaces . (text-interface self-alignment-interface side-position-interface font-interface item-interface ))))
+ ))
+
+ (PaperColumn
+ . (
+ (axes . (0))
+ (before-line-breaking-callback . ,Paper_column::before_line_breaking)
+ (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 item-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)
+ (height-limit . 2.0)
+ (ratio . 0.333)
+ (beautiful . 0.5)
+ (y-free . 0.75)
+ (attachment . (#f . #f))
+ (attachment-offset . ((0 . 0) . (0 . 0)))
+ (slope-limit . 0.8)
+ (details . ((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)))
+ (meta . ((interfaces . (slur-interface spanner-interface))))
+ ))
+
+ (NonMusicalPaperColumn
+ . (
+ (axes . (0))
+ (X-extent-callback . ,Axis_group_interface::group_extent_callback)
+ (before-line-breaking-callback . ,Paper_column::before_line_breaking)
+ ;; 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 item-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 spanner-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-widen . (0.5 . 0.5))
+ (edge-height . (1.0 . 1.0))
+ (shorten-pair . (0.0 . 0.0))
+ (thickness . 1.0)
+ (meta . ((interfaces . (text-spanner-interface piano-pedal-interface spanner-interface))))
+ ))
+
+ (RepeatSlash
+ . (
+ (molecule-callback . , Percent_repeat_item_interface::beat_slash)
+ (thickness . 0.48)
+ (slope . 1.7)
+ (meta . ((interfaces . (percent-repeat-interface item-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 item-interface ))
+ ))))
+
+ (RestCollision
+ . (
+ (minimum-distance . 0.75)
+ (meta . ((interfaces . (rest-collision-interface item-interface ))))
+ ))
+
+ (Script
+ . (
+ ;; don't set direction here: it breaks staccato.
+ (molecule-callback . ,Script_interface::brew_molecule)
+
+ ;; This value is sensitive: if too large, staccato dots will move a
+ ;; space a away.
+ (padding . 0.25)
+ ;; (script-priority . 0) priorities for scripts, see script.scm
+ (X-offset-callbacks . (,Self_alignment_interface::centered_on_parent))
+ (before-line-breaking-callback . ,Script_interface::before_line_breaking)
+ (font-family . music)
+ (meta . ((interfaces . (script-interface side-position-interface font-interface item-interface ))))
+ ))
+
+ (ScriptColumn
+ . (
+ (before-line-breaking-callback . ,Script_column::before_line_breaking)
+ (meta . ((interfaces . (script-column-interface item-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)
+ (height-limit . 2.0)
+ (ratio . 0.333)
+ (beautiful . 0.5)
+ (y-free . 0.75)
+ (attachment . (#f . #f))
+ (attachment-offset . ((0 . 0) . (0 . 0)))
+ (slope-limit . 0.8)
+ (details . ((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)))
+ (meta . ((interfaces . (slur-interface spanner-interface))))
+ ))
+
+ (SpacingSpanner
+ . (
+ (spacing-procedure . ,Spacing_spanner::set_springs)
+ (grace-space-factor . 0.6)
+ (shortest-duration-space . 2.0)
+ (spacing-increment . 1.2)
+ (base-shortest-duration . ,(make-moment 1 8))
+ (meta . ((interfaces . (spacing-interface spacing-spanner-interface spanner-interface))))
+ ))
+
+ (SpanBar
+ . (
+ (break-align-symbol . staff-bar)
+ (bar-size-procedure . ,Span_bar::get_bar_size)
+ (molecule-callback . ,Span_bar::brew_molecule)
+ (break-visibility . ,begin-of-line-invisible)
+ (X-extent-callback . ,Span_bar::width_callback)
+ (Y-extent-callback . ())
+ (breakable . #t)
+ (glyph . "|")
+ (before-line-breaking-callback . ,Span_bar::before_line_breaking)
+ ;; ugh duplication!
+
+ ;;
+ ;; Ross. page 151 lists other values, we opt for a leaner look
+ ;;
+ (kern . 3.0)
+ (thin-kern . 3.0)
+ (hair-thickness . 1.6)
+ (thick-thickness . 6.0)
+ (meta . ((interfaces . (span-bar-interface font-interface
+ bar-line-interface item-interface ))))
+ ))
+
+ (StanzaNumber
+ . (
+ (breakable . #t)
+ (molecule-callback . ,Text_item::brew_molecule)
+ (break-align-symbol . clef)
+ (break-visibility . ,begin-of-line-visible)
+ (font-family . roman)
+ (meta . ((interfaces . (break-aligned-interface text-interface font-interface item-interface ))))
+ ))
+
+ (StaffSpacing
+ . (
+ (breakable . #t)
+ (stem-spacing-correction . 0.4)
+ (knee-spacing-correction . 0.75)
+ (meta . ((interfaces . (spacing-interface staff-spacing-interface item-interface ))))
+ ))
+ (NoteSpacing
+ . (
+ (stem-spacing-correction . 0.5)
+ (knee-spacing-correction . 0.75)
+ (meta . ((interfaces . (spacing-interface note-spacing-interface item-interface ))))
+ ))
+
+ (StaffSymbol
+ . (
+ (molecule-callback . ,Staff_symbol::brew_molecule)
+ (line-count . 5)
+ (layer . 0)
+ (meta . ((interfaces . (staff-symbol-interface spanner-interface))))
+ ))
+
+ (SostenutoPedal
+ . (
+ (molecule-callback . ,Text_item::brew_molecule)
+ (direction . 1)
+ (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
+ (no-spacing-rods . #t)
+ (padding . 0.0) ;; padding relative to SostenutoPedalLineSpanner
+ (pedal-type . mixed)
+ (font-family . roman)
+ (font-shape . italic)
+ (self-alignment-X . 0)
+ (meta . ((interfaces . (text-interface self-alignment-interface font-interface item-interface))))
+ ))
+
+ (SostenutoPedalLineSpanner
+ . (
+ (axes . (1))
+ (Y-extent-callback . ,Axis_group_interface::group_extent_callback)
+ (Y-offset-callbacks . (,Side_position_interface::aligned_side))