X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-grobs.scm;h=b7cdfff34b737c085a8d7d5e9db4e5f3f5a983a5;hb=c43893c79c40c0308c253d043334de9b34d3a211;hp=a072d4f0d9e1a91c222df49be70fe9be883e97a0;hpb=05fabaaf86fd44f9bd903f282bb98d343a991e40;p=lilypond.git diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index a072d4f0d9..b7cdfff34b 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -1,8 +1,8 @@ -;;;; grob-description.scm -- part of generated backend documentation +;;;; define-grobs.scm -- ;;;; ;;;; source file of the GNU LilyPond music typesetter ;;;; -;;;; (c) 1998--2003 Han-Wen Nienhuys +;;;; (c) 1998--2004 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen ;;;; distances are given in linethickness (thicknesses) and @@ -25,11 +25,11 @@ (AccidentalPlacement . ( (X-extent-callback . ,Axis_group_interface::group_extent_callback) - (left-padding . 0.3) + (left-padding . 0.2) ;; 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.25) + (right-padding . 0.15) (meta . ((interfaces . (item-interface accidental-placement-interface)))) )) @@ -40,7 +40,7 @@ (print-function . ,Ambitus::print) (font-family . music) (note-head-style . "noteheads-2") - (visibility-lambda . ,begin-of-line-visible) + (break-visibility . ,begin-of-line-visible) (join-heads . #t) (space-alist . ( (clef . (extra-space . 0.0)) @@ -60,6 +60,7 @@ (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) (X-offset-callbacks . (,Side_position_interface::aligned_side)) (direction . -1) + (padding . 0.5) (staff-position . 0.0) (meta . ((interfaces . (arpeggio-interface staff-symbol-referencer-interface side-position-interface item-interface font-interface)))) )) @@ -107,6 +108,8 @@ (Y-offset-callbacks . (,Side_position_interface::aligned_side)) (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) (self-alignment-X . 1) + + ;; hmm. why did we do this: ? (extra-offset . (1.3 . 0)) (meta . ((interfaces . (side-position-interface @@ -126,7 +129,6 @@ ;; 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 @@ -137,8 +139,8 @@ ;; todo: clean this up a bit: the list is getting ;; rather long. (print-function . ,Beam::print) - (concaveness-gap . 2.0) - (concaveness-threshold . 0.08) + (concaveness-gap . 1.85) + (concaveness-threshold . 0.26) (gap . 0.8) (positions . (#f . #f)) (position-callbacks . (,Beam::least_squares @@ -171,7 +173,6 @@ ;; sadly possibly breaking patterns with high order beams. (beamed-stem-shorten . (1.0 0.5 0.25)) - (outer-stem-length-limit . 0.2) (slope-limit . 0.2) (flag-width-function . ,beam-flag-width-function) (damping . 1) @@ -188,6 +189,22 @@ . ( (breakable . #t) (stacking-dir . 1) + (break-align-orders . #(; end-of-line: + (instrument-name left-edge ambitus breathing-sign + clef staff-bar key-signature + time-signature custos) + + ; unbroken + (instrument-name left-edge ambitus breathing-sign + clef staff-bar key-signature + staff + time-signature custos) + ; begin of line + (instrument-name left-edge ambitus breathing-sign + clef key-signature staff-bar + time-signature custos) + + )) (axes . (0)) (X-extent-callback . ,Axis_group_interface::group_extent_callback) (meta . ((interfaces . (break-alignment-interface item-interface axis-group-interface))))) @@ -244,6 +261,7 @@ (ClusterSpannerBeacon . ( (print-function . #f) + (Y-extent-callback . ,Cluster_beacon::height) (meta . ((interfaces . (cluster-beacon-interface item-interface)))) )) @@ -275,9 +293,7 @@ (print-function . ,Custos::print) (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)) (space-alist . ( (first-note . (minimum-fixed-space . 0.0)) @@ -311,7 +327,7 @@ (print-function . ,Percent_repeat_item_interface::double_percent) (breakable . #t) (slope . 1.0) - (font-family . music) + (font-encoding . fetaMusic) (width . 2.0) (thickness . 0.48) (break-align-symbol . staff-bar) @@ -331,7 +347,7 @@ (no-spacing-rods . #t) (script-priority . 100) (font-series . bold) - (font-family . dynamic) + (font-encoding . fetaDynamic) (font-shape . italic) (self-alignment-Y . 0) (meta . ((interfaces . (font-interface text-interface self-alignment-interface dynamic-interface script-interface item-interface)))) @@ -352,7 +368,7 @@ (LeftEdge . ( (break-align-symbol . left-edge) - (X-extent-callback . ,Grob::point_dimension_callback) + (X-extent . (0 . 0)) (breakable . #t) (space-alist . ( (custos . (extra-space . 0.0)) @@ -376,20 +392,22 @@ (self-alignment-X . 0) (self-alignment-Y . 0) (script-priority . 100) - (font-family . number) + (font-encoding . fetaNumber) (font-size . -5) ; don't overlap when next to heads. - (font-shape . upright) (meta . ((interfaces . (finger-interface font-interface text-script-interface text-interface side-position-interface self-alignment-interface item-interface )))) )) - - (RemoveEmptyVerticalGroup + (Glissando . ( - (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)))) + (style . line) + (gap . 0.5) + (zigzag-width . 0.75) + (breakable . #t) + (X-extent-callback . #f) + (Y-extent-callback . #f) + (after-line-breaking-callback . ,Line_spanner::after_line_breaking) + (print-function . ,Line_spanner::print) + (meta . ((interfaces . (line-spanner-interface spanner-interface)))) )) (Hairpin @@ -400,7 +418,6 @@ (spacing-procedure . ,Spanner::set_spacing_rods) (minimum-length . 2.0) (if-text-padding . 1.0) - (dash-length . 4.0) (self-alignment-Y . 0) (Y-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) (meta . ((interfaces . (hairpin-interface line-interface self-alignment-interface dynamic-interface spanner-interface)))) @@ -432,7 +449,6 @@ (break-align-symbol . instrument-name) (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 item-interface )))) )) @@ -443,11 +459,11 @@ (direction . 0) (space-alist . ((left-edge . (extra-space . 1.0)) )) + (break-align-symbol . instrument-name) (print-function . ,Text_item::print) (break-align-symbol . clef) (break-visibility . ,begin-of-line-visible) (baseline-skip . 2) - (font-family . roman) (meta . ((interfaces . (font-interface self-alignment-interface side-position-interface text-interface @@ -493,7 +509,7 @@ (length . 0.66) (spacing-procedure . ,Hyphen_spanner::set_spacing_rods) (print-function . ,Hyphen_spanner::print) - (Y-extent-callback . ,Grob::point_dimension_callback) + (Y-extent . (0 . 0)) (meta . ((interfaces . (lyric-interface lyric-hyphen-interface spanner-interface)))) )) @@ -503,7 +519,7 @@ (print-function . ,Lyric_extender::print) (thickness . 0.8) ; linethickness (minimum-length . 1.5) - (Y-extent-callback . ,Grob::point_dimension_callback) + (Y-extent . (0 . 0)) (meta . ((interfaces . (lyric-interface lyric-extender-interface spanner-interface)))) )) @@ -513,9 +529,7 @@ (X-offset-callbacks . (,Self_alignment_interface::aligned_on_parent)) (self-alignment-X . 0) (word-space . 0.6) - (font-family . roman) (font-series . bold-narrow) - (font-shape . upright) (font-size . 1.0) (meta . ((interfaces . (rhythmic-grob-interface lyric-syllable-interface self-alignment-interface text-interface font-interface item-interface )))) )) @@ -539,7 +553,6 @@ (direction . 1) (breakable . #t) (font-size . 2) - (font-family . roman) (baseline-skip . 2) (break-visibility . ,end-of-line-invisible) (padding . 0.8) @@ -551,7 +564,6 @@ (Y-offset-callbacks . (,Side_position_interface::aligned_side)) (direction . 1) (breakable . #t) - (font-family . roman) (break-visibility . ,end-of-line-invisible) (padding . 0.8) (meta . ((interfaces . (text-interface side-position-interface font-interface metronome-mark-interface item-interface)))) @@ -577,6 +589,7 @@ (thick-thickness . 6.6) (hair-thickness . 2.0) (padding . 1) + (font-encoding . fetaMusic) (meta . ((interfaces . (multi-measure-rest-interface multi-measure-interface rest-interface font-interface staff-symbol-referencer-interface)))) )) @@ -590,7 +603,7 @@ (direction . 1) (padding . 1.3) (staff-padding . 1.3) - (font-family . number) + (font-encoding . fetaNumber) (meta . ((interfaces . (side-position-interface multi-measure-interface self-alignment-interface font-interface spanner-interface text-interface)))) )) (MultiMeasureRestText @@ -603,14 +616,11 @@ (direction . 1) (padding . 1.5) (staff-padding . 1.5) - (font-family . roman) (meta . ((interfaces . (side-position-interface multi-measure-interface self-alignment-interface font-interface spanner-interface text-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 )))) @@ -637,17 +647,15 @@ (meta . ((interfaces . (rhythmic-grob-interface rhythmic-head-interface font-interface note-head-interface staff-symbol-referencer-interface item-interface )))) )) - (Glissando + (NoteSpacing . ( - (style . line) - (gap . 0.5) - (zigzag-width . 0.75) - (breakable . #t) - (X-extent-callback . #f) - (Y-extent-callback . #f) - (after-line-breaking-callback . ,Line_spanner::after_line_breaking) - (print-function . ,Line_spanner::print) - (meta . ((interfaces . (line-spanner-interface spanner-interface)))) + (stem-spacing-correction . 0.5) + + ;; Changed this from 0.75. + ;; If you ever change this back, please document! --hwn + (knee-spacing-correction . 1.0) + + (meta . ((interfaces . (spacing-interface note-spacing-interface item-interface )))) )) (VoiceFollower @@ -665,8 +673,8 @@ (NoteName . ( (print-function . ,Text_item::print) - (font-family . roman) - (meta . ((interfaces . (note-name-interface text-interface font-interface item-interface )))) + (meta . ((interfaces . (note-name-interface + text-interface font-interface item-interface )))) )) (OctavateEight @@ -676,11 +684,13 @@ (X-offset-callbacks . (,Self_alignment_interface::centered_on_parent ,Self_alignment_interface::aligned_on_self)) (Y-offset-callbacks . (,Side_position_interface::aligned_side)) (print-function . ,Text_item::print) + + ;; no Y dimensions, because of lyrics under tenor clef. + (Y-extent-callback . #f) (font-shape . italic) - (padding . 0.4) + (padding . 0.6) (staff-padding . 0.2) (font-size . -4) - (font-family . roman) (meta . ((interfaces . (text-interface self-alignment-interface side-position-interface font-interface item-interface )))) )) @@ -690,7 +700,7 @@ (before-line-breaking-callback . ,Paper_column::before_line_breaking) (X-extent-callback . ,Axis_group_interface::group_extent_callback) -; (print-function . ,Paper_column::print) (font-name . "cmr8") (Y-extent-callback . #f) +;ppp (print-function . ,Paper_column::print) (font-name . "cmr8") (Y-extent-callback . #f) (meta . ((interfaces . (paper-column-interface axis-group-interface spaceable-grob-interface item-interface )))) )) @@ -701,7 +711,7 @@ (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-function . ,calc-slur-extremity) (extremity-offset-alist . ,default-phrasing-slur-extremity-offset-alist) (de-uglify-parameters . (1.5 0.8 -2.0)) (Y-extent-callback . ,Slur::height) @@ -724,6 +734,7 @@ (axes . (0)) (X-extent-callback . ,Axis_group_interface::group_extent_callback) (before-line-breaking-callback . ,Paper_column::before_line_breaking) + (breakable . #t) ;; debugging stuff: print column number. ; (print-function . ,Paper_column::print) (font-name . "cmr8") (Y-extent-callback . #f) @@ -737,15 +748,13 @@ (print-function . ,Multi_measure_rest::percent) (slope . 1.0) (thickness . 0.48) - (minimum-width . 12.5) ; staffspace - (font-family . music) + (font-encoding . fetaMusic) (meta . ((interfaces . (multi-measure-rest-interface spanner-interface font-interface percent-repeat-interface)))) )) (PianoPedalBracket ;; an example of a text spanner . ( (print-function . ,Piano_pedal_bracket::print) - (font-family . roman) (style . line) (if-text-padding . 1.0) (direction . -1) @@ -756,6 +765,16 @@ (meta . ((interfaces . (line-interface piano-pedal-interface piano-pedal-bracket-interface spanner-interface)))) )) + + (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)))) + )) + (RepeatSlash . ( (print-function . ,Percent_repeat_item_interface::beat_slash) @@ -769,13 +788,14 @@ (X-extent-callback . ,Rest::extent_callback) (Y-extent-callback . ,Rest::extent_callback) (print-function . ,Rest::print) - (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) + (Y-offset-callbacks . (,Staff_symbol_referencer::callback + ,Rest::polyphonic_offset_callback + )) (minimum-distance . 0.25) (meta . ( (interfaces . (font-interface rhythmic-head-interface - rhythmic-grob-interface - + rhythmic-grob-interface staff-symbol-referencer-interface rest-interface item-interface )) )))) @@ -793,12 +813,12 @@ ;; This value is sensitive: if too large, staccato dots will move a ;; space a away. - (padding . 0.25) + (padding . 0.20) (staff-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) + (font-encoding . fetaMusic) (meta . ((interfaces . (script-interface side-position-interface font-interface item-interface )))) )) @@ -815,7 +835,7 @@ (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-function . ,calc-slur-extremity) (extremity-offset-alist . ,default-slur-extremity-offset-alist) (de-uglify-parameters . (1.5 0.8 -2.0)) (Y-extent-callback . ,Slur::height) @@ -852,7 +872,6 @@ (X-extent-callback . ,Span_bar::width_callback) (Y-extent-callback . ()) (breakable . #t) - (glyph . "|") (before-line-breaking-callback . ,Span_bar::before_line_breaking) ;; ugh duplication! @@ -869,7 +888,6 @@ (StanzaNumber . ((print-function . ,Text_item::print) - (font-family . roman) (font-series . bold) (padding . 1.0) (X-offset-callbacks . (,Side_position_interface::aligned_side)) @@ -884,25 +902,6 @@ (meta . ((interfaces . (spacing-interface staff-spacing-interface item-interface )))) )) - (NoteSpacing - . ( - (stem-spacing-correction . 0.5) - - ;; Changed this from 0.75. - ;; If you ever change this back, please document! --hwn - (knee-spacing-correction . 1.0) - - (meta . ((interfaces . (spacing-interface note-spacing-interface item-interface )))) - )) - - (StaffSymbol - . ( - (print-function . ,Staff_symbol::print) - (line-count . 5) - (ledger-line-thickness . (1.0 . 0.1)) - (layer . 0) - (meta . ((interfaces . (staff-symbol-interface spanner-interface)))) - )) (SostenutoPedal . ( @@ -911,7 +910,6 @@ (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) (no-spacing-rods . #t) (padding . 0.0) ;; padding relative to SostenutoPedalLineSpanner - (font-family . roman) (font-shape . italic) (self-alignment-X . 0) (meta . ((interfaces . (text-interface self-alignment-interface font-interface item-interface)))) @@ -929,16 +927,24 @@ (direction . -1) (meta . ((interfaces . (piano-pedal-interface axis-group-interface side-position-interface spanner-interface)))) )) + + (StaffSymbol + . ( + (print-function . ,Staff_symbol::print) + (line-count . 5) + (ledger-line-thickness . (1.0 . 0.1)) + (layer . 0) + (meta . ((interfaces . (staff-symbol-interface spanner-interface)))) + )) (Stem . ( - ;; this list is rather long. Trim --hwn (before-line-breaking-callback . ,Stem::before_line_breaking) (print-function . ,Stem::print) (thickness . 1.3) - ;; 3.5 (or 3 measured from note head) is standar length + ;; 3.5 (or 3 measured from note head) is standard length ;; 32nd, 64th flagged stems should be longer (lengths . (3.5 3.5 3.5 4.5 5.0)) @@ -975,9 +981,7 @@ (X-extent-callback . ,Stem::dim_callback) (Y-extent-callback . ,Stem::height) (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) - (adjust-if-on-staffline . #t) - (font-family . music) - (meta . ((interfaces . (stem-interface font-interface item-interface )))) + (meta . ((interfaces . (stem-interface font-interface item-interface )))) )) (StemTremolo @@ -1041,7 +1045,7 @@ (glyph . "brace") (print-function . ,System_start_delimiter::print) (collapse-height . 5.0) - (font-family . braces) + (font-encoding . fetaBraces) (Y-extent-callback . #f) (meta . ((interfaces . (system-start-delimiter-interface font-interface)))) )) @@ -1055,7 +1059,7 @@ (arch-angle . 50.0) (arch-thick . 0.25) (arch-width . 1.5) - (bracket-collapse-height . 1) + (collapse-height . 1) (thickness . 0.25) (meta . ((interfaces . (system-start-delimiter-interface spanner-interface)))) )) @@ -1080,8 +1084,6 @@ (staff-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 item-interface )))) )) (CombineTextScript @@ -1097,14 +1099,13 @@ (script-priority . 200) ;; todo: add X self alignment? (baseline-skip . 2) - (font-family . roman) (font-series . bold) (meta . ((interfaces . (text-script-interface text-interface side-position-interface font-interface item-interface )))) )) (TextSpanner . ( (print-function . ,Text_spanner::print) - (font-family . roman) + (font-shape . italic) (style . dashed-line) (staff-padding . 0.1) @@ -1121,8 +1122,6 @@ (Y-offset-callbacks . (,Side_position_interface::aligned_side)) (print-function . ,Ottava_bracket::print) (font-shape . italic) - (font-family . roman) - (text-repeat-if-broken . #t) (shorten-pair . (0.0 . -0.6)) (staff-padding . 1.0) (padding . 0.5) @@ -1137,7 +1136,6 @@ (TabNoteHead . ( - (font-family . roman) (style . default) (print-function . ,Text_item::print) (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) @@ -1186,13 +1184,11 @@ (breakable . #t) (style . C) ; (text . (,time-signature-glue-markup)) - (font-family . number) (meta . ((interfaces . (time-signature-interface break-aligned-interface font-interface item-interface )))) )) (TupletBracket . ( - (gap . 1.0) (padding . 1.1) (thickness . 1.6) (edge-height . (0.7 . 0.7)) @@ -1200,7 +1196,6 @@ (before-line-breaking-callback . ,Tuplet_bracket::before_line_breaking) (after-line-breaking-callback . ,Tuplet_bracket::after_line_breaking) (print-function . ,Tuplet_bracket::print) - (font-family . roman) (font-shape . italic) (font-series . bold) @@ -1211,7 +1206,6 @@ (UnaCordaPedal . ( (print-function . ,Text_item::print) - (font-family . roman) (font-shape . italic) (no-spacing-rods . #t) (self-alignment-X . 0) @@ -1247,12 +1241,11 @@ (print-function . ,Volta_bracket_interface::print) (direction . 1) (padding . 1) - (font-family . number) + (font-encoding . fetaNumber) (Y-offset-callbacks . (,Side_position_interface::aligned_side)) (thickness . 1.6) ; linethickness (height . 2.0) ; staffspace; (minimum-space . 5) - (font-family . number) (font-size . -4) (meta . ((interfaces . (volta-bracket-interface line-interface text-interface side-position-interface font-interface spanner-interface)))) ))