X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fgrob-description.scm;h=4425102e63c6b75e5065911426945a1a20b2b356;hb=737f9dba5c915391212b9b225f4109eab256ac18;hp=87bec4739cdfec30fa0c49f575416f1f93845390;hpb=cc24bf365e8b2537508e54f715ea063b72d5da56;p=lilypond.git diff --git a/scm/grob-description.scm b/scm/grob-description.scm index 87bec4739c..4425102e63 100644 --- a/scm/grob-description.scm +++ b/scm/grob-description.scm @@ -13,33 +13,42 @@ ;; TODO: junk the meta field in favor of something more compact? (define all-grob-descriptions `( - (Accidentals - . ( - (molecule-callback . ,Local_key_item::brew_molecule) - (X-offset-callbacks . (,Side_position_interface::aligned_side)) - (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) - (after-line-breaking-callback . ,Local_key_item::after_line_breaking) - (direction . -1) - (left-padding . 0.2) - (right-padding . 0.5) - (paren-cautionaries . #t) - (font-family . music) - (meta . ((interfaces . (accidentals-interface staff-symbol-referencer-interface font-interface side-position-interface)))) - )) (Accidental . ( (molecule-callback . ,Accidental_interface::brew_molecule) (font-family . music) (cautionary-style . smaller) - (after-line-breaking-callback . ,Accidental_interface::after_line_breaking) (meta . ((interfaces . (accidental-interface font-interface)))) + (after-line-breaking-callback . ,Accidental_interface::after_line_breaking) (meta . ((interfaces . (item-interface accidental-interface font-interface)))) )) (AccidentalPlacement . ( - (X-extent-callback . ,Accidental_placement::extent_callback) + (X-extent-callback . ,Axis_group_interface::group_extent_callback) (left-padding . 0.3) - (right-padding . 0.3) - (meta . ((interfaces . (accidental-placement-interface)))) - )) + + ;; this is quite small, but it is very ugly to have + ;; accs closer to the previous note than to the next one. + (right-padding . 0.15) + (meta . ((interfaces . (item-interface accidental-placement-interface)))) + )) + + (Ambitus + . ( + (breakable . #t) + (break-align-symbol . ambitus) + (molecule-callback . ,Ambitus::brew_molecule) + (font-family . music) + (note-head-style . "noteheads-2") + (visibility-lambda . ,begin-of-line-visible) + (join-heads . #t) + (space-alist . ( + (clef . (extra-space . 0.0)) + (key-signature . (extra-space . 0.0)) + (staff-bar . (extra-space . 0.0)) + (time-signature . (extra-space . 0.0)) + (first-note . (extra-space . 0.0)) + )) + (meta . ((interfaces . (ambitus-interface staff-symbol-referencer-interface break-aligned-interface item-interface font-interface)))) + )) (Arpeggio . ( @@ -50,7 +59,7 @@ (X-offset-callbacks . (,Side_position_interface::aligned_side)) (direction . -1) (staff-position . 0.0) - (meta . ((interfaces . (arpeggio-interface staff-symbol-referencer-interface side-position-interface font-interface)))) + (meta . ((interfaces . (arpeggio-interface staff-symbol-referencer-interface side-position-interface item-interface font-interface)))) )) (BarLine @@ -60,7 +69,7 @@ (break-glyph-function . ,default-break-barline) (bar-size-procedure . ,Bar_line::get_staff_bar_size) (molecule-callback . ,Bar_line::brew_molecule) - (visibility-lambda . ,all-visible) + (break-visibility . ,all-visible) (breakable . #t) (before-line-breaking-callback . ,Bar_line::before_line_breaking) (space-alist . ( @@ -77,7 +86,7 @@ (thin-kern . 3.0) (hair-thickness . 1.6) (thick-thickness . 6.0) - (meta . ((interfaces . (bar-line-interface break-aligned-interface font-interface)))) + (meta . ((interfaces . (bar-line-interface item-interface break-aligned-interface font-interface)))) )) @@ -85,16 +94,20 @@ . ( (molecule-callback . ,Text_item::brew_molecule) (breakable . #t) - (visibility-lambda . ,begin-of-line-visible) + (break-visibility . ,begin-of-line-visible) (padding . 1.0) (direction . 1) (font-family . roman) (font-relative-size . -1) (Y-offset-callbacks . (,Side_position_interface::aligned_side)) + (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) + (self-alignment-X . 1) + (extra-offset . (1.3 . 0)) (meta . ((interfaces . (side-position-interface text-interface - font-interface break-aligned-interface)))) + self-alignment-interface + font-interface item-interface break-aligned-interface)))) )) @@ -108,7 +121,7 @@ (padding . 0.1) (kern . 0.2) (thickness . 1.0) - (meta . ((interfaces . (text-interface bass-figure-interface self-alignment-interface font-interface)))) + (meta . ((interfaces . (text-interface bass-figure-interface item-interface self-alignment-interface font-interface)))) )) (Beam . ( @@ -121,6 +134,7 @@ (position-callbacks . (,Beam::least_squares ,Beam::check_concave ,Beam::slope_damping + ,Beam::shift_region_to_valid ,Beam::quanting )) @@ -135,10 +149,10 @@ (slope-limit . 0.2) (flag-width-function . ,default-beam-flag-width-function) (damping . 1) - (auto-knee-gap . 7) + (auto-knee-gap . 5.5) (font-name . "cmr10") (space-function . ,Beam::space_function) - (meta . ((interfaces . (staff-symbol-referencer-interface beam-interface)))) + (meta . ((interfaces . (staff-symbol-referencer-interface beam-interface spanner-interface)))) )) (BreakAlignment @@ -147,7 +161,7 @@ (stacking-dir . 1) (axes . (0)) (X-extent-callback . ,Axis_group_interface::group_extent_callback) - (meta . ((interfaces . (break-alignment-interface axis-group-interface))))) + (meta . ((interfaces . (break-alignment-interface item-interface axis-group-interface))))) ) (BreakAlignGroup @@ -155,7 +169,7 @@ (axes . (0)) (X-offset-callbacks . (,Break_align_interface::alignment_callback)) (X-extent-callback . ,Axis_group_interface::group_extent_callback) - (meta . ((interfaces . (break-aligned-interface axis-group-interface)))) + (meta . ((interfaces . (break-aligned-interface item-interface axis-group-interface item-interface )))) )) (BreathingSign @@ -163,6 +177,7 @@ (break-align-symbol . breathing-sign) (breakable . #t) (space-alist . ( + (ambitus . (extra-space . 2.0)) (key-signature . (minimum-space . 1.5)) (staff-bar . (minimum-space . 1.5)) (clef . (minimum-space . 2.0)) @@ -173,8 +188,8 @@ (font-family . music) (text . "scripts-rcomma") (Y-offset-callbacks . (,Breathing_sign::offset_callback)) - (visibility-lambda . ,begin-of-line-invisible) - (meta . ((interfaces . (break-aligned-interface breathing-sign-interface text-interface font-interface)))) + (break-visibility . ,begin-of-line-invisible) + (meta . ((interfaces . (break-aligned-interface breathing-sign-interface text-interface font-interface item-interface )))) )) (Clef @@ -184,8 +199,9 @@ (breakable . #t) (font-family . music) (break-align-symbol . clef) - (visibility-lambda . ,begin-of-line-visible) + (break-visibility . ,begin-of-line-visible) (space-alist . ( + (ambitus . (extra-space . 2.0)) (staff-bar . (minimum-space . 3.7)) (key-signature . (minimum-space . 4.0)) (time-signature . (minimum-space . 4.2)) @@ -193,7 +209,7 @@ (next-note . (extra-space . 0.5)) )) (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) - (meta . ((interfaces . (clef-interface staff-symbol-referencer-interface font-interface break-aligned-interface)))) + (meta . ((interfaces . (clef-interface staff-symbol-referencer-interface font-interface break-aligned-interface item-interface )))) )) (ChordName @@ -202,7 +218,7 @@ (after-line-breaking-callback . ,Chord_name::after_line_breaking) (chord-name-function . ,default-chord-name-function) (font-family . roman) - (meta . ((interfaces . (font-interface text-interface chord-name-interface)))) + (meta . ((interfaces . (font-interface text-interface chord-name-interface item-interface )))) )) (Custos @@ -210,17 +226,17 @@ (break-align-symbol . custos) (breakable . #t) (molecule-callback . ,Custos::brew_molecule) - (visibility-lambda . ,end-of-line-visible) + (break-visibility . ,end-of-line-visible) (style . vaticana) (neutral-position . 0) (neutral-direction . -1) (adjust-if-on-staffline . #t) (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) - (font-family . music) + (font-family . ancient) (space-alist . ( (first-note . (minimum-space . 0.0)) )) - (meta . ((interfaces . (custos-interface staff-symbol-referencer-interface break-aligned-interface)))) + (meta . ((interfaces . (custos-interface staff-symbol-referencer-interface break-aligned-interface item-interface )))) )) @@ -230,7 +246,7 @@ (direction . 1) (X-extent-callback . ,Axis_group_interface::group_extent_callback) (X-offset-callbacks . (,Dot_column::side_position)) - (meta . ((interfaces . (dot-column-interface axis-group-interface)))) + (meta . ((interfaces . (dot-column-interface axis-group-interface item-interface )))) )) (Dots @@ -238,7 +254,7 @@ (molecule-callback . ,Dots::brew_molecule) (dot-count . 1) (Y-offset-callbacks . (,Dots::quantised_position_callback ,Staff_symbol_referencer::callback)) - (meta . ((interfaces . (font-interface staff-symbol-referencer-interface dots-interface)))) + (meta . ((interfaces . (font-interface staff-symbol-referencer-interface dots-interface item-interface )))) )) (DoublePercentRepeat . @@ -250,8 +266,10 @@ (width . 2.0) (thickness . 0.48) (break-align-symbol . staff-bar) - (visibility-lambda . ,begin-of-line-invisible) - (meta . ((interfaces . (font-interface percent-repeat-interface)))) + (break-visibility . ,begin-of-line-invisible) + (meta . ((interfaces . (font-interface + break-aligned-interface + percent-repeat-interface item-interface )))) )) (DynamicText @@ -267,18 +285,18 @@ (font-family . dynamic) (font-shape . italic) (self-alignment-Y . 0) - (meta . ((interfaces . (font-interface text-interface self-alignment-interface dynamic-interface)))) + (meta . ((interfaces . (font-interface text-interface self-alignment-interface dynamic-interface item-interface )))) )) (DynamicLineSpanner . ( (axes . (1)) (Y-extent-callback . ,Axis_group_interface::group_extent_callback) - + (Y-offset-callbacks . (,Side_position_interface::aligned_side)) (padding . 0.6) (minimum-space . 1.2) (direction . -1) - (meta . ((interfaces . (dynamic-interface axis-group-interface side-position-interface)))) + (meta . ((interfaces . (dynamic-interface axis-group-interface side-position-interface spanner-interface)))) )) (LeftEdge @@ -288,6 +306,8 @@ (X-extent-callback . ,Grob::point_dimension_callback) (breakable . #t) (space-alist . ( + (custos . (extra-space . 0.0)) + (ambitus . (extra-space . 2.0)) (time-signature . (extra-space . 0.0)) (staff-bar . (extra-space . 0.0)) (breathing-sign . (minimum-space . 0.0)) @@ -295,7 +315,7 @@ (first-note . (extra-space . 0.0)) (key-signature . (extra-space . 0.0)) )) - (meta . ((interfaces . (break-aligned-interface)))) + (meta . ((interfaces . (break-aligned-interface item-interface )))) )) (Fingering @@ -304,13 +324,14 @@ (X-offset-callbacks . (,Self_alignment_interface::centered_on_parent ,Self_alignment_interface::aligned_on_self)) (padding . 0.6) - ; (direction . -1) + ;; (direction . -1) (self-alignment-X . 0) (self-alignment-Y . 0) + (script-priority . 100) (font-family . number) (font-relative-size . -3) (font-shape . upright) - (meta . ((interfaces . (finger-interface font-interface text-script-interface text-interface side-position-interface self-alignment-interface)))) + (meta . ((interfaces . (finger-interface font-interface text-script-interface text-interface side-position-interface self-alignment-interface item-interface )))) )) @@ -319,7 +340,7 @@ (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)))) + (meta . ((interfaces . (axis-group-interface hara-kiri-group-interface item-interface spanner-interface)))) )) (Hairpin @@ -336,7 +357,7 @@ (dash-length . 4.0) (self-alignment-Y . 0) (Y-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) - (meta . ((interfaces . (hairpin-interface self-alignment-interface dynamic-interface)))) + (meta . ((interfaces . (hairpin-interface self-alignment-interface dynamic-interface spanner-interface)))) )) (InstrumentName @@ -353,10 +374,10 @@ (self-alignment-Y . 0) (molecule-callback . ,Text_item::brew_molecule) (break-align-symbol . instrument-name) - (visibility-lambda . ,begin-of-line-visible) + (break-visibility . ,begin-of-line-visible) (baseline-skip . 2) (font-family . roman) - (meta . ((interfaces . (font-interface self-alignment-interface side-position-interface text-interface break-aligned-interface)))) + (meta . ((interfaces . (font-interface self-alignment-interface side-position-interface text-interface break-aligned-interface item-interface )))) )) (KeySignature @@ -369,9 +390,9 @@ )) (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) (break-align-symbol . key-signature) - (visibility-lambda . ,begin-of-line-visible) + (break-visibility . ,begin-of-line-visible) (breakable . #t) - (meta . ((interfaces . (key-signature-interface font-interface break-aligned-interface)))) + (meta . ((interfaces . (key-signature-interface font-interface break-aligned-interface item-interface )))) )) (Ligature @@ -386,7 +407,7 @@ (height . 0.5) (ligature-primitive-callback . ,Note_head::brew_molecule) (molecule-callback . ,Ligature_bracket::brew_molecule) - (meta . ((interfaces . (ligature-bracket-interface)))) + (meta . ((interfaces . (ligature-bracket-interface spanner-interface)))) )) (LigatureHead @@ -408,7 +429,7 @@ (maximum-length . 100) (molecule-callback . ,Hyphen_spanner::brew_molecule) (Y-extent-callback . ,Grob::point_dimension_callback) - (meta . ((interfaces . (lyric-hyphen-interface)))) + (meta . ((interfaces . (lyric-hyphen-interface spanner-interface)))) )) (LyricExtender @@ -417,13 +438,14 @@ (height . 0.8) ; stafflinethickness; (right-trim-amount . 0.5) (Y-extent-callback . ,Grob::point_dimension_callback) - (meta . ((interfaces . (lyric-extender-interface)))) + (meta . ((interfaces . (lyric-extender-interface spanner-interface)))) )) (LyricText . ( (molecule-callback . ,Text_item::brew_molecule) - (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) + (X-offset-callbacks . (,Self_alignment_interface::centered_on_parent + ,Self_alignment_interface::aligned_on_self)) (self-alignment-X . 0) (word-space . 0.6) (ignore-length-mismatch . #f) @@ -431,8 +453,9 @@ (end-alignment . 2) (font-family . roman) (font-shape . upright) + ;; duh, side-position-interface? - (meta . ((interfaces . (lyric-syllable-interface self-alignment-interface text-interface font-interface)))) + (meta . ((interfaces . (lyric-syllable-interface self-alignment-interface text-interface font-interface item-interface )))) )) (MensuralLigature @@ -467,9 +490,11 @@ (direction . 1) (breakable . #t) - (visibility-lambda . ,end-of-line-invisible) + (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)))) + (meta . ((interfaces . (text-interface side-position-interface font-interface mark-interface self-alignment-interface item-interface )))) )) (MultiMeasureRest @@ -484,7 +509,7 @@ (thickness . 6.6) (font-family . number) (padding . 1) - (meta . ((interfaces . (multi-measure-rest-interface rest-interface font-interface staff-symbol-referencer-interface)))) + (meta . ((interfaces . (multi-measure-rest-interface rest-interface font-interface staff-symbol-referencer-interface spanner-interface)))) )) (NoteCollision @@ -494,7 +519,7 @@ (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)))) + (meta . ((interfaces . (note-collision-interface axis-group-interface item-interface )))) )) (NoteColumn @@ -502,7 +527,7 @@ (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)))) + (meta . ((interfaces . (axis-group-interface note-column-interface item-interface )))) )) (NoteHead @@ -511,7 +536,7 @@ (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)))) + (meta . ((interfaces . (rhythmic-head-interface font-interface note-head-interface staff-symbol-referencer-interface item-interface )))) )) (Glissando @@ -522,7 +547,7 @@ (X-extent-callback . #f) (Y-extent-callback . #f) (molecule-callback . ,Line_spanner::brew_molecule) - (meta . ((interfaces . (line-spanner-interface)))) + (meta . ((interfaces . (line-spanner-interface spanner-interface)))) )) (VoiceFollower @@ -533,36 +558,39 @@ (X-extent-callback . #f) (Y-extent-callback . #f) (molecule-callback . ,Line_spanner::brew_molecule) - (meta . ((interfaces . (line-spanner-interface)))) + (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)))) + (meta . ((interfaces . (note-name-interface text-interface font-interface item-interface )))) )) (OctavateEight . ( (self-alignment-X . 0) (text . "8") - (visibility-lambda . ,begin-of-line-visible) + (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)))) + (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)))) + (meta . ((interfaces . (paper-column-interface axis-group-interface spaceable-grob-interface item-interface )))) )) (PhrasingSlur @@ -585,19 +613,19 @@ (attachment . (#f . #f)) (attachment-offset . ((0 . 0) . (0 . 0))) (slope-limit . 0.8) - (meta . ((interfaces . (slur-interface)))) + (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)))) + (meta . ((interfaces . (paper-column-interface axis-group-interface spaceable-grob-interface item-interface )))) )) (PercentRepeat @@ -608,7 +636,7 @@ (thickness . 0.48) (minimum-width . 12.5) ; staffspace (font-family . music) - (meta . ((interfaces . (multi-measure-rest-interface font-interface percent-repeat-interface)))) + (meta . ((interfaces . (multi-measure-rest-interface spanner-interface font-interface percent-repeat-interface)))) )) (PianoPedalBracket ;; an example of a text spanner @@ -620,11 +648,11 @@ (width-correct . 0) (outer . #t) (direction . -1) - (edge-width . (0.5 . 0.5)) + (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)))) + (meta . ((interfaces . (text-spanner-interface piano-pedal-interface spanner-interface)))) )) (RepeatSlash @@ -632,7 +660,7 @@ (molecule-callback . , Percent_repeat_item_interface::beat_slash) (thickness . 0.48) (slope . 1.7) - (meta . ((interfaces . (percent-repeat-interface)))) + (meta . ((interfaces . (percent-repeat-interface item-interface )))) )) (Rest . ( @@ -646,13 +674,13 @@ (interfaces . (font-interface rhythmic-head-interface staff-symbol-referencer-interface - rest-interface)) + rest-interface item-interface )) )))) (RestCollision . ( (minimum-distance . 0.75) - (meta . ((interfaces . (rest-collision-interface)))) + (meta . ((interfaces . (rest-collision-interface item-interface )))) )) (Script @@ -662,17 +690,18 @@ ;; This value is sensitive: if too large, staccato dots will move a ;; space a away. - (padding . 0.25) + (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)))) + (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)))) + (meta . ((interfaces . (script-column-interface item-interface )))) )) (Slur @@ -695,7 +724,7 @@ (attachment . (#f . #f)) (attachment-offset . ((0 . 0) . (0 . 0))) (slope-limit . 0.8) - (meta . ((interfaces . (slur-interface)))) + (meta . ((interfaces . (slur-interface spanner-interface)))) )) (SpacingSpanner @@ -704,7 +733,8 @@ (grace-space-factor . 0.6) (shortest-duration-space . 2.0) (spacing-increment . 1.2) - (meta . ((interfaces . (spacing-spanner-interface)))) + (base-shortest-duration . ,(make-moment 1 8)) + (meta . ((interfaces . (spacing-interface spacing-spanner-interface spanner-interface)))) )) (SpanBar @@ -712,7 +742,7 @@ (break-align-symbol . staff-bar) (bar-size-procedure . ,Span_bar::get_bar_size) (molecule-callback . ,Span_bar::brew_molecule) - (visibility-lambda . ,begin-of-line-invisible) + (break-visibility . ,begin-of-line-invisible) (X-extent-callback . ,Span_bar::width_callback) (Y-extent-callback . ()) (breakable . #t) @@ -727,7 +757,7 @@ (thin-kern . 3.0) (hair-thickness . 1.6) (thick-thickness . 6.0) - (meta . ((interfaces . (span-bar-interface bar-line-interface)))) + (meta . ((interfaces . (span-bar-interface bar-line-interface item-interface )))) )) (StanzaNumber @@ -735,30 +765,31 @@ (breakable . #t) (molecule-callback . ,Text_item::brew_molecule) (break-align-symbol . clef) - (visibility-lambda . ,begin-of-line-visible) + (break-visibility . ,begin-of-line-visible) (font-family . roman) - (meta . ((interfaces . (break-aligned-interface text-interface font-interface)))) + (meta . ((interfaces . (break-aligned-interface text-interface font-interface item-interface )))) )) (StaffSpacing . ( (breakable . #t) (stem-spacing-correction . 0.4) - (meta . ((interfaces . (staff-spacing-interface)))) + (knee-spacing-correction . 0.75) + (meta . ((interfaces . (spacing-interface staff-spacing-interface item-interface )))) )) (NoteSpacing . ( (stem-spacing-correction . 0.5) - (meta . ((interfaces . (note-spacing-interface)))) + (knee-spacing-correction . 0.75) + (meta . ((interfaces . (spacing-interface note-spacing-interface item-interface )))) )) (StaffSymbol . ( (molecule-callback . ,Staff_symbol::brew_molecule) (line-count . 5) - (ragged-right . #f) (layer . 0) - (meta . ((interfaces . (staff-symbol-interface)))) + (meta . ((interfaces . (staff-symbol-interface spanner-interface)))) )) (SostenutoPedal @@ -772,7 +803,7 @@ (font-family . roman) (font-shape . italic) (self-alignment-X . 0) - (meta . ((interfaces . (text-interface self-alignment-interface font-interface)))) + (meta . ((interfaces . (text-interface self-alignment-interface font-interface item-interface)))) )) (SostenutoPedalLineSpanner @@ -783,7 +814,7 @@ (padding . 1.2) (minimum-space . 1.0) (direction . -1) - (meta . ((interfaces . (piano-pedal-interface axis-group-interface side-position-interface)))) + (meta . ((interfaces . (piano-pedal-interface axis-group-interface side-position-interface spanner-interface)))) )) (Stem @@ -792,6 +823,8 @@ (molecule-callback . ,Stem::brew_molecule) (thickness . 1.3) (beamed-lengths . (0.0 2.5 2.0 1.5)) + + ;; (beamed-minimum-lengths . (0.0 1.5 1.25 1.0)) ;; Stems in unnatural (forced) direction should be shortened, @@ -808,7 +841,9 @@ (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) (adjust-if-on-staffline . #t) (font-family . music) - (meta . ((interfaces . (stem-interface font-interface)))) + (avoid-note-head . #f) + (up-to-staff . #f) + (meta . ((interfaces . (stem-interface font-interface item-interface )))) )) (StemTremolo @@ -817,20 +852,20 @@ (Y-extent-callback . ,Stem_tremolo::height) (X-extent-callback . #f) - (beam-width . 2.0) ; staff-space + (beam-width . 1.6) ; staff-space (beam-thickness . 0.48) ; staff-space - (meta . ((interfaces . (stem-tremolo-interface)))) + (meta . ((interfaces . (stem-tremolo-interface item-interface )))) )) (SeparationItem . ( - (meta . ((interfaces . (separation-item-interface)))) + (meta . ((interfaces . (spacing-interface separation-item-interface item-interface )))) )) (SeparatingGroupSpanner . ( (spacing-procedure . ,Separating_group_spanner::set_spacing_rods) - (meta . ((interfaces . (separation-spanner-interface)))) + (meta . ((interfaces . (spacing-interface separation-spanner-interface spanner-interface)))) )) (SustainPedal @@ -842,7 +877,7 @@ (padding . 0.0) ;; padding relative to SustainPedalLineSpanner (pedal-type . text) (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) - (meta . ((interfaces . (piano-pedal-interface text-spanner-interface text-interface self-alignment-interface font-interface)))) + (meta . ((interfaces . (piano-pedal-interface text-spanner-interface text-interface self-alignment-interface font-interface item-interface)))) )) (SustainPedalLineSpanner @@ -853,7 +888,7 @@ (padding . 1.2) (minimum-space . 1.0) (direction . -1) - (meta . ((interfaces . (piano-pedal-interface axis-group-interface side-position-interface)))) + (meta . ((interfaces . (piano-pedal-interface axis-group-interface side-position-interface spanner-interface)))) )) (System @@ -861,7 +896,7 @@ (axes . (0 1)) (X-extent-callback . ,Axis_group_interface::group_extent_callback) (Y-extent-callback . ,Axis_group_interface::group_extent_callback) - (meta . ((interfaces . (system-interface axis-group-interface)))) + (meta . ((interfaces . (system-interface axis-group-interface spanner-interface)))) )) (SystemStartBrace @@ -885,7 +920,7 @@ (arch-width . 1.5) (bracket-collapse-height . 1) (thickness . 0.25) - (meta . ((interfaces . (system-start-delimiter-interface)))) + (meta . ((interfaces . (system-start-delimiter-interface spanner-interface)))) )) (SystemStartBar @@ -895,19 +930,21 @@ (glyph . "bar-line") (thickness . 1.6) (after-line-breaking-callback . ,System_start_delimiter::after_line_breaking) - (meta . ((interfaces . (system-start-delimiter-interface)))) + (meta . ((interfaces . (system-start-delimiter-interface spanner-interface)))) )) (TextScript . ( (molecule-callback . ,Text_item::brew_molecule) (no-spacing-rods . #t) + (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) (direction . -1) (padding . 0.5) + (script-priority . 200) ;; todo: add X self alignment? (baseline-skip . 2) (font-family . roman) - (meta . ((interfaces . (text-script-interface text-interface side-position-interface font-interface)))) + (meta . ((interfaces . (text-script-interface text-interface side-position-interface font-interface item-interface )))) )) (TextSpanner @@ -921,8 +958,19 @@ (width-correct . -1) (direction . 1) - (meta . ((interfaces . (text-spanner-interface font-interface)))) + (meta . ((interfaces . (text-spanner-interface side-position-interface font-interface spanner-interface)))) )) + + (TabNoteHead + . ( + (font-family . roman) + (style . default) + (molecule-callback . ,tablature-molecule-callback) + (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) + (stem-attachment-function . ,tablature-stem-attachment-function) + (meta . ((interfaces . (rhythmic-head-interface font-interface note-head-interface staff-symbol-referencer-interface item-interface )))) + )) + (Tie . ( @@ -931,10 +979,10 @@ (staffline-clearance . 0.35) (details . ((ratio . 0.333) (height-limit . 1.0))) (thickness . 1.2) - (x-gap . 0.2) + (x-gap . -0.1) (y-offset . 0.6) (minimum-length . 2.5) - (meta . ((interfaces . (tie-interface)))) + (meta . ((interfaces . (tie-interface spanner-interface)))) )) (TieColumn @@ -942,14 +990,14 @@ (after-line-breaking-callback . ,Tie_column::after_line_breaking) (X-extent-callback . ()) (Yoo-extent-callback . ()) - (meta . ((interfaces . (tie-column-interface)))) + (meta . ((interfaces . (tie-column-interface spanner-interface)))) )) (TimeSignature . ( (molecule-callback . ,Time_signature::brew_molecule) (break-align-symbol . time-signature) - (visibility-lambda . ,all-visible) + (break-visibility . ,all-visible) (space-alist . ( (first-note . (extra-space . 2.0)) (staff-bar . (minimum-space . 2.0)) @@ -957,7 +1005,7 @@ (breakable . #t) (style . C) (font-family . number) - (meta . ((interfaces . (time-signature-interface break-aligned-interface font-interface)))) + (meta . ((interfaces . (time-signature-interface break-aligned-interface font-interface item-interface )))) )) (TupletBracket @@ -965,9 +1013,9 @@ (gap . 2.0) (padding . 0.9) (thickness . 1.6) - (edge-width . (0.0 . 0.0)) + (edge-widen . (0.0 . 0.0)) (edge-height . (0.7 . 0.7)) - (shorten-pair . (0.0 . 0.0)) + (shorten-pair . (-0.2 . -0.2)) (before-line-breaking-callback . ,Tuplet_bracket::before_line_breaking) (after-line-breaking-callback . ,Tuplet_bracket::after_line_breaking) (molecule-callback . ,Tuplet_bracket::brew_molecule) @@ -975,7 +1023,7 @@ (font-shape . italic) (font-relative-size . -1) - (meta . ((interfaces . (text-interface tuplet-bracket-interface font-interface)))) + (meta . ((interfaces . (text-interface tuplet-bracket-interface font-interface spanner-interface)))) )) (UnaCordaPedal @@ -989,7 +1037,7 @@ (pedal-type . text) (padding . 0.0) ;; padding relative to UnaCordaPedalLineSpanner (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) - (meta . ((interfaces . (text-interface self-alignment-interface font-interface)))) + (meta . ((interfaces . (text-interface self-alignment-interface font-interface item-interface )))) )) (UnaCordaPedalLineSpanner @@ -999,7 +1047,7 @@ (padding . 1.2) (minimum-space . 1.0) (direction . -1) - (meta . ((interfaces . (piano-pedal-interface axis-group-interface side-position-interface)))) + (meta . ((interfaces . (piano-pedal-interface axis-group-interface side-position-interface spanner-interface)))) )) (VoltaBracket @@ -1014,7 +1062,7 @@ (minimum-space . 5) (font-family . number) (font-relative-size . -2) - (meta . ((interfaces . (volta-bracket-interface text-interface side-position-interface font-interface)))) + (meta . ((interfaces . (volta-bracket-interface text-interface side-position-interface font-interface spanner-interface)))) )) (VerticalAlignment @@ -1022,7 +1070,7 @@ (axes . (1)) (Y-extent-callback . ,Axis_group_interface::group_extent_callback) (stacking-dir . -1) - (meta . ((interfaces . (align-interface axis-group-interface)))) + (meta . ((interfaces . (align-interface axis-group-interface spanner-interface)))) )) (VerticalAxisGroup @@ -1030,7 +1078,7 @@ (axes . (1)) (Y-extent-callback . ,Axis_group_interface::group_extent_callback) - (meta . ((interfaces . (axis-group-interface)))) + (meta . ((interfaces . (axis-group-interface spanner-interface)))) )) ) ) @@ -1067,6 +1115,9 @@ (map (lambda (x) ; (display (car x)) (newline) - (set-object-property! (car x) 'translation-type? list?)) + (set-object-property! (car x) 'translation-type? list?) + (set-object-property! (car x) 'is-grob? #t)) all-grob-descriptions) + +(set! all-grob-descriptions (sort all-grob-descriptions alist