X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-grobs.scm;h=5569834df6742a864371a49c4ebab4fe7c68babb;hb=10809c81d2cf7066eb9838e732900229a900824b;hp=dcdf425c5923c174e3ee5572f59d3aae3cf73c0c;hpb=4f7187ac9efe404e0c5653fde88ebe972340e9c6;p=lilypond.git diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index dcdf425c59..5569834df6 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -46,7 +46,7 @@ (key-signature . (extra-space . 0.0)) (staff-bar . (extra-space . 0.0)) (time-signature . (extra-space . 0.0)) - (first-note . (extra-space . 0.0)) + (first-note . (fixed-space . 0.0)) )) (meta . ((interfaces . (ambitus-interface staff-symbol-referencer-interface break-aligned-interface item-interface font-interface)))) )) @@ -78,7 +78,8 @@ (custos . (minimum-space . 2.0)) (clef . (minimum-space . 1.0)) (key-signature . (extra-space . 1.0)) - (first-note . (extra-space . 1.3)) + (first-note . (fixed-space . 1.3)) + (next-note . (semi-fixed-space . 1.3)) (right-edge . (extra-space . 0.0)) )) @@ -101,7 +102,7 @@ (padding . 1.0) (direction . 1) (font-family . roman) - (font-relative-size . -1) + (font-size . -2) (Y-offset-callbacks . (,Side_position_interface::aligned_side)) (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) (self-alignment-X . 1) @@ -116,11 +117,15 @@ (BassFigure . ( - (molecule-callback . ,brew-new-markup-molecule) + (molecule-callback . ,Text_item::brew_molecule) (Y-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) (direction . 1) (font-family . number) - (font-relative-size . -1) + + ;; We must do this, other BFs in + ;; paper16 become too small. + (font-size . -4) + (font-magnification . 0.8) (kern . 0.2) (meta . ((interfaces . (text-interface rhythmic-grob-interface bass-figure-interface item-interface @@ -133,7 +138,7 @@ (molecule-callback . ,Beam::brew_molecule) (concaveness-gap . 2.0) (concaveness-threshold . 0.08) - + (gap . 0.8) (positions . (#f . #f)) (position-callbacks . (,Beam::least_squares ,Beam::check_concave @@ -172,7 +177,7 @@ (auto-knee-gap . 5.5) ;; only for debugging. -; (font-name . "cmr10") + (font-family . roman) (space-function . ,Beam::space_function) (meta . ((interfaces . (staff-symbol-referencer-interface beam-interface spanner-interface)))) @@ -205,13 +210,11 @@ (key-signature . (minimum-space . 1.5)) (staff-bar . (minimum-space . 1.5)) (clef . (minimum-space . 2.0)) - (first-note . (minimum-space . 1.0)) + (first-note . (fixed-space . 1.0)) ;huh? (right-edge . (extra-space . 0.1)) )) - (molecule-callback . ,Breathing_sign::brew_molecule) - (lookup . name) - (font-family . music) - (text . "scripts-rcomma") + (molecule-callback . ,Text_item::brew_molecule) + (text . ,(make-musicglyph-markup "scripts-rcomma")) (Y-offset-callbacks . (,Breathing_sign::offset_callback)) (break-visibility . ,begin-of-line-invisible) (meta . ((interfaces . (break-aligned-interface breathing-sign-interface text-interface font-interface item-interface )))) @@ -225,35 +228,40 @@ (font-family . music) (break-align-symbol . clef) (break-visibility . ,begin-of-line-visible) - (space-alist . ( - (ambitus . (extra-space . 2.0)) - (staff-bar . (minimum-space . 3.7)) + (space-alist . ((ambitus . (extra-space . 2.0)) + (staff-bar . (extra-space . 0.7)) (key-signature . (minimum-space . 4.0)) (time-signature . (minimum-space . 4.2)) - (first-note . (minimum-space . 5.0)) + (first-note . (minimum-fixed-space . 5.0)) (next-note . (extra-space . 0.5)) (right-edge . (extra-space . 0.5)) )) (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) (meta . ((interfaces . (clef-interface staff-symbol-referencer-interface font-interface break-aligned-interface item-interface )))) )) - - (Cluster + + (ClusterSpannerBeacon + . ( + (molecule-callback . #f) + (meta . ((interfaces . (cluster-beacon-interface item-interface)))) + )) + + (ClusterSpanner . ( (molecule-callback . ,Cluster::brew_molecule) (spacing-procedure . ,Spanner::set_spacing_rods) (minimum-length . 0.0) (padding . 0.25) - (shape . leftsided-stairs) + (style . ramp) (meta . ((interfaces . (cluster-interface spanner-interface)))) )) (ChordName . ( - (molecule-callback . ,new-chord-name-brew-molecule) + (molecule-callback . ,Text_item::brew_molecule) (after-line-breaking-callback . ,Chord_name::after_line_breaking) - (word-space . 1.0) - (font-family . roman) + (word-space . 0.0) + (font-family . sans) (meta . ((interfaces . (font-interface rhythmic-grob-interface text-interface chord-name-interface item-interface )))) )) @@ -270,7 +278,7 @@ (adjust-if-on-staffline . #t) (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) (space-alist . ( - (first-note . (minimum-space . 0.0)) + (first-note . (minimum-fixed-space . 0.0)) (right-edge . (extra-space . 0.1)) )) (meta . ((interfaces @@ -283,7 +291,7 @@ (DotColumn . ( (axes . (0)) - (direction . 1) + (direction . ,RIGHT) (X-extent-callback . ,Axis_group_interface::group_extent_callback) (X-offset-callbacks . (,Dot_column::side_position)) (meta . ((interfaces . (dot-column-interface axis-group-interface item-interface )))) @@ -293,7 +301,6 @@ . ( (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 item-interface )))) )) @@ -350,8 +357,8 @@ (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 . 1.0)) + (clef . (extra-space . 0.85)) + (first-note . (fixed-space . 1.0)) (right-edge . (extra-space . 0.0)) (key-signature . (extra-space . 0.0)) )) @@ -362,21 +369,21 @@ . ( (molecule-callback . ,Text_item::brew_molecule) (padding . 0.6) - ;; (direction . -1) (self-alignment-X . 0) (self-alignment-Y . 0) (script-priority . 100) (font-family . number) - (font-relative-size . -3) + (font-size . -4) (font-shape . upright) (meta . ((interfaces . (finger-interface font-interface text-script-interface text-interface side-position-interface self-alignment-interface item-interface )))) )) - (HaraKiriVerticalGroup + (RemoveEmptyVerticalGroup . ( (Y-offset-callbacks . (,Hara_kiri_group_spanner::force_hara_kiri_callback)) (Y-extent-callback . ,Hara_kiri_group_spanner::y_extent) + (remove-first . #t) (axes . (1)) (meta . ((interfaces . (axis-group-interface hara-kiri-group-interface item-interface spanner-interface)))) )) @@ -412,7 +419,8 @@ (breakable . #t) (Y-offset-callbacks . (,Self_alignment_interface::aligned_on_self ,Side_position_interface::aligned_on_support_refpoints)) - ;; huh? what's this for? + ;; This direction is for aligned_on_support_refpoints + ;; (?) --hwn (direction . 0) (space-alist . ( (left-edge . (extra-space . 1.0)) @@ -434,7 +442,7 @@ (time-signature . (extra-space . 1.25)) (staff-bar . (extra-space . 1.1)) (right-edge . (extra-space . 0.5)) - (first-note . (extra-space . 2.5)) + (first-note . (fixed-space . 2.5)) )) (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) (break-align-symbol . key-signature) @@ -450,7 +458,6 @@ (gap . 0.0) (padding . 2.0) (thickness . 1.6) - (edge-widen . (0.0 . 0.0)) (edge-height . (0.7 . 0.7)) (shorten-pair . (-0.2 . -0.2)) (before-line-breaking-callback . ,Tuplet_bracket::before_line_breaking) @@ -461,10 +468,11 @@ (LyricHyphen . ( - (thickness . 1.0) - (height . 0.4) + (thickness . 1.3) + (height . 0.42) + (dash-period . 10.0) + (length . 0.66) (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 spanner-interface)))) @@ -473,26 +481,21 @@ (LyricExtender . ( (molecule-callback . ,Lyric_extender::brew_molecule) - (height . 0.8) ; stafflinethickness; - (right-trim-amount . 0.5) + (thickness . 0.8) ; stafflinethickness; + (minimum-length . 1.5) (Y-extent-callback . ,Grob::point_dimension_callback) (meta . ((interfaces . (lyric-extender-interface spanner-interface)))) )) (LyricText - . ( - (molecule-callback . ,Text_item::brew_molecule) - (X-offset-callbacks . (,Self_alignment_interface::centered_on_parent - ,Self_alignment_interface::aligned_on_self)) + . ((molecule-callback . ,Text_item::brew_molecule) + (X-offset-callbacks . (,Self_alignment_interface::aligned_on_parent)) (self-alignment-X . 0) (word-space . 0.6) - (ignore-length-mismatch . #f) - (begin-alignment . 4) - (end-alignment . 2) (font-family . roman) + (font-series . bold-narrow) (font-shape . upright) - - ;; duh, side-position-interface? + (font-size . 1.0) (meta . ((interfaces . (rhythmic-grob-interface lyric-syllable-interface self-alignment-interface text-interface font-interface item-interface )))) )) @@ -507,22 +510,22 @@ (RehearsalMark . ( - (molecule-callback . ,brew-new-markup-molecule) + (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) - (break-align-symbol . time-signature) (direction . 1) (breakable . #t) + (font-size . 2) (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 )))) + (meta . ((interfaces . (break-aligned-interface text-interface side-position-interface font-interface mark-interface self-alignment-interface item-interface )))) )) (MetronomeMark . ( - (molecule-callback . ,brew-new-markup-molecule) + (molecule-callback . ,Text_item::brew_molecule) (Y-offset-callbacks . (,Side_position_interface::aligned_side)) (direction . 1) (breakable . #t) @@ -558,25 +561,25 @@ (MultiMeasureRestNumber . ( - (molecule-callback . ,brew-new-markup-molecule) + (molecule-callback . ,Text_item::brew_molecule) (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self ,Self_alignment_interface::centered_on_other_axis_parent)) (Y-offset-callbacks . (,Side_position_interface::aligned_side)) (self-alignment-X . 0) (direction . 1) - (padding . 2) + (padding . 1.3) (font-family . number) (meta . ((interfaces . (side-position-interface self-alignment-interface font-interface spanner-interface text-interface)))) )) (MultiMeasureRestText . ( - (molecule-callback . ,brew-new-markup-molecule) + (molecule-callback . ,Text_item::brew_molecule) (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self ,Self_alignment_interface::centered_on_other_axis_parent)) (Y-offset-callbacks . (,Side_position_interface::aligned_side)) (self-alignment-X . 0) (direction . 1) - (padding . 2) + (padding . 1.5) (font-family . roman) (meta . ((interfaces . (side-position-interface self-alignment-interface font-interface spanner-interface text-interface)))) )) @@ -604,6 +607,8 @@ (molecule-callback . ,Note_head::brew_molecule) (ligature-primitive-callback . ,Note_head::brew_molecule) (glyph-name-procedure . ,find-notehead-symbol) + (X-extent-callback . ,Note_head::extent) + (Y-extent-callback . ,Note_head::extent) (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) (stem-attachment-function . ,note-head-style->attachment-coordinates) (meta . ((interfaces . (rhythmic-grob-interface rhythmic-head-interface font-interface note-head-interface staff-symbol-referencer-interface item-interface )))) @@ -644,14 +649,13 @@ (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-size . -4) (font-family . roman) (meta . ((interfaces . (text-interface self-alignment-interface side-position-interface font-interface item-interface )))) )) @@ -717,22 +721,23 @@ (PianoPedalBracket ;; an example of a text spanner . ( (molecule-callback . ,Text_spanner::brew_molecule) + (after-line-breaking-callback . ,Piano_pedal_bracket::after_line_breaking) (font-family . roman) (style . line) (if-text-padding . 1.0) (width-correct . 0) (enclose-bounds . #t) (direction . -1) - (edge-widen . (0.5 . 0.5)) + (bracket-flare . (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)))) + (meta . ((interfaces . (text-spanner-interface piano-pedal-interface piano-pedal-bracket-interface spanner-interface)))) )) (RepeatSlash . ( - (molecule-callback . , Percent_repeat_item_interface::beat_slash) + (molecule-callback . ,Percent_repeat_item_interface::beat_slash) (thickness . 0.48) (slope . 1.7) (meta . ((interfaces . (percent-repeat-interface item-interface )))) @@ -841,13 +846,13 @@ )) (StanzaNumber - . ( - (breakable . #t) - (molecule-callback . ,Text_item::brew_molecule) - (break-align-symbol . clef) - (break-visibility . ,begin-of-line-visible) + . ((molecule-callback . ,Text_item::brew_molecule) (font-family . roman) - (meta . ((interfaces . (break-aligned-interface text-interface font-interface item-interface )))) + (font-series . bold) + (padding . 1.0) + (X-offset-callbacks . (,Side_position_interface::aligned_side)) + (direction . ,LEFT) + (meta . ((interfaces . (side-position-interface text-interface font-interface item-interface )))) )) (StaffSpacing @@ -883,7 +888,6 @@ (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) @@ -922,33 +926,27 @@ ;; default stem direction for note on middle line (neutral-direction . -1) - - ;; [Wanske]: standard length (but no shorter than minimum). - ;; (beamed-lengths . (3.5)) - + + + ;; FIXME. 3.5 yields too long beams (according to Ross and ;; looking at Baerenreiter examples) for a number of common ;; boundary cases. Subtracting half a beam thickness fixes ;; this, but the bug may well be somewhere else. - (beamed-lengths . (3.26 3.26 1.5)) - - ;; [Wanske] lists three sets of minimum lengths. One - ;; set for the nomal case, and one set for beams with `der - ;; Balkenendpunkt weiter "uber bzw. unter die Systemgrenze - ;; hinaus (bei Gruppen mit grossem Tonumfang)' and the extreme - ;; case. - - ;; Note that Wanske lists numbers lengths starting from top of - ;; head, so we must add half a staff space. + + ;; FIXME this should come from 'lengths + +; (beamed-lengths . (3.26 3.26 1.5)) + (beamed-lengths . (3.5 3.5 3.5 4.5 5.0)) ;; We use the normal minima as minimum for the ideal lengths, ;; and the extreme minima as abolute minimum length. ;; The 'normal' minima - (beamed-minimum-free-lengths . (2.5 2.0 1.0)) + (beamed-minimum-free-lengths . (1.83 1.5 1.25)) ;; The 'extreme case' minima - (beamed-extreme-minimum-free-lengths . (1.83 1.5 1.25)) + (beamed-extreme-minimum-free-lengths . (2.0 1.25)) (X-offset-callbacks . (,Stem::off_callback)) (X-extent-callback . ,Stem::dim_callback) @@ -956,8 +954,6 @@ (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) (adjust-if-on-staffline . #t) (font-family . music) - (avoid-note-head . #f) - (up-to-staff . #f) (meta . ((interfaces . (stem-interface font-interface item-interface )))) )) @@ -974,13 +970,15 @@ (SeparationItem . ( + (X-extent-callback . #f) + (Y-extent-callback . #f) (meta . ((interfaces . (spacing-interface separation-item-interface item-interface )))) )) (SeparatingGroupSpanner . ( (spacing-procedure . ,Separating_group_spanner::set_spacing_rods) - (meta . ((interfaces . (spacing-interface separation-spanner-interface spanner-interface)))) + (meta . ((interfaces . (only-prebreak-interface spacing-interface separation-spanner-interface spanner-interface)))) )) (SustainPedal @@ -990,7 +988,6 @@ (self-alignment-X . 0) (direction . 1) (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 item-interface)))) )) @@ -1067,12 +1064,13 @@ . ( (molecule-callback . ,Text_spanner::brew_molecule) (font-family . roman) - (style . line) + (style . dashed-line) ;; urg, only for (de)cresc. text spanners (if-text-padding . 1.0) (width-correct . -1) - + (dash-fraction . 0.2) + (dash-period . 3.0) (direction . 1) (meta . ((interfaces . (text-spanner-interface side-position-interface font-interface spanner-interface)))) )) @@ -1085,6 +1083,7 @@ (enclose-bounds . #t) (width-correct . 0.0) (style . dashed-line) + (dash-fraction . 0.3) (edge-height . (0 . 1.5)) (direction . 1) (meta . ((interfaces . (text-spanner-interface side-position-interface font-interface spanner-interface)))) @@ -1094,7 +1093,7 @@ . ( (font-family . roman) (style . default) - (molecule-callback . ,tablature-molecule-callback) + (molecule-callback . ,Text_item::brew_molecule) (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) (extra-offset . (0 . -0.65)) ;; UGH! TODO: Clean this up! (stem-attachment-function . ,tablature-stem-attachment-function) @@ -1130,15 +1129,17 @@ (TimeSignature . ( (molecule-callback . ,Time_signature::brew_molecule) +; (molecule-callback . ,Text_item::brew_molecule) (break-align-symbol . time-signature) (break-visibility . ,all-visible) (space-alist . ( - (first-note . (extra-space . 2.0)) + (first-note . (fixed-space . 2.0)) (right-edge . (extra-space . 0.5)) (staff-bar . (minimum-space . 2.0)) )) (breakable . #t) (style . C) +; (text . (,time-signature-glue-markup)) (font-family . number) (meta . ((interfaces . (time-signature-interface break-aligned-interface font-interface item-interface )))) )) @@ -1148,7 +1149,6 @@ (gap . 2.0) (padding . 0.9) (thickness . 1.6) - (edge-widen . (0.0 . 0.0)) (edge-height . (0.7 . 0.7)) (shorten-pair . (-0.2 . -0.2)) (before-line-breaking-callback . ,Tuplet_bracket::before_line_breaking) @@ -1156,8 +1156,9 @@ (molecule-callback . ,Tuplet_bracket::brew_molecule) (font-family . roman) (font-shape . italic) + (font-series . bold) - (font-relative-size . -1) + (font-size . -2) (meta . ((interfaces . (text-interface tuplet-bracket-interface font-interface spanner-interface)))) )) @@ -1169,7 +1170,6 @@ (no-spacing-rods . #t) (self-alignment-X . 0) (direction . 1) - (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 item-interface )))) @@ -1189,7 +1189,7 @@ (VaticanaLigature . ( - (thickness . 1.0) + (thickness . 0.6) (flexa-width . 2.0) (ligature-primitive-callback . ,Vaticana_ligature::brew_ligature_primitive) (molecule-callback . ,Vaticana_ligature::brew_molecule) @@ -1201,13 +1201,13 @@ (molecule-callback . ,Volta_bracket_interface::brew_molecule) (direction . 1) (padding . 1) - (font-style . volta) + (font-family . number) (Y-offset-callbacks . (,Side_position_interface::aligned_side)) (thickness . 1.6) ; stafflinethickness (height . 2.0) ; staffspace; (minimum-space . 5) (font-family . number) - (font-relative-size . -2) + (font-size . -4) (meta . ((interfaces . (volta-bracket-interface text-interface side-position-interface font-interface spanner-interface)))) )) @@ -1215,6 +1215,7 @@ . ( (axes . (1)) (Y-extent-callback . ,Axis_group_interface::group_extent_callback) + (X-extent-callback . ,Axis_group_interface::group_extent_callback) (stacking-dir . -1) (meta . ((interfaces . (align-interface axis-group-interface spanner-interface)))) )) @@ -1223,6 +1224,7 @@ . ( (axes . (1)) (Y-extent-callback . ,Axis_group_interface::group_extent_callback) + (X-extent-callback . ,Axis_group_interface::group_extent_callback) (meta . ((interfaces . (axis-group-interface spanner-interface)))) ))