X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-grobs.scm;h=454d05181673523aa31c5e685d1e4aad35f15af5;hb=ad8959e79687e3000919f4a4bc6072b1b45eae8d;hp=00b9e655df0e7eb20c85e5654081674152d906b0;hpb=d723ce514c396386a1d8d3b5b96299389f3b9179;p=lilypond.git diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index 00b9e655df..454d051816 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -17,14 +17,14 @@ (Accidental . ( (print-function . ,Accidental_interface::print) - (font-family . music) + (inside-slur . #t) (cautionary-style . parentheses) - (after-line-breaking-callback . ,Accidental_interface::after_line_breaking) (meta . ((interfaces . (item-interface 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 . ,Axis_group_interface::group_extent_callback) + . ((X-extent-callback . ,Axis_group_interface::group_extent_callback) (left-padding . 0.2) ;; this is quite small, but it is very ugly to have @@ -32,45 +32,59 @@ (right-padding . 0.15) (meta . ((interfaces . (item-interface accidental-placement-interface)))) )) - (Ambitus . ( - (breakable . #t) - (break-align-symbol . ambitus) + (axes . (0 1)) + (X-extent-callback . ,Axis_group_interface::group_extent_callback) + (Y-extent-callback . ,Axis_group_interface::group_extent_callback) + (space-alist . ( + (clef . (extra-space . 0.5)) + (key-signature . (extra-space . 0.0)) + (staff-bar . (extra-space . 0.0)) + (time-signature . (extra-space . 0.0)) + (first-note . (fixed-space . 0.0)) + )) + (breakable . #t) + (break-align-symbol . ambitus) + (break-visibility . ,begin-of-line-visible) + (meta . ((interfaces . (axis-group-interface break-aligned-interface ambitus-interface item-interface )))) + )) + + (AmbitusLine + . ( (print-function . ,Ambitus::print) (join-heads . #t) - (break-visibility . ,begin-of-line-visible) - (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 . (fixed-space . 0.0)) - )) - (meta . ((interfaces . (ambitus-interface staff-symbol-referencer-interface break-aligned-interface item-interface font-interface)))) + (thickness . 2) + (X-offset-callbacks . (,Self_alignment_interface::centered_on_parent)) + + (meta . ((interfaces . (ambitus-interface staff-symbol-referencer-interface item-interface font-interface)))) )) (AmbitusAccidental . ( (print-function . ,Accidental_interface::print) (font-family . music) + (padding . 0.5) (X-offset-callbacks . (,Side_position_interface::aligned_side)) (direction . -1) (cautionary-style . parentheses) - (after-line-breaking-callback . ,Accidental_interface::after_line_breaking) (meta . ((interfaces . (item-interface accidental-interface font-interface)))) + (after-line-breaking-callback . ,Accidental_interface::after_line_breaking) (meta . ((interfaces . (item-interface accidental-interface break-aligned-interface side-position-interface font-interface)))) )) + (AmbitusNoteHead . ( (duration-log . 2) (style . default) - (breakable . #t) (print-function . ,Note_head::print) - (break-align-symbol . ambitus) - (break-visibility . ,begin-of-line-visible) (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)) - (meta . ((interfaces . (font-interface note-head-interface ambitus-interface staff-symbol-referencer-interface item-interface )))) + (meta . ((interfaces . (font-interface note-head-interface + ambitus-interface + staff-symbol-referencer-interface + rhythmic-head-interface + ledgered-interface + item-interface )))) )) (Arpeggio @@ -101,6 +115,7 @@ (custos . (minimum-space . 2.0)) (clef . (minimum-space . 1.0)) (key-signature . (extra-space . 1.0)) + (key-cancellation . (extra-space . 1.0)) (first-note . (fixed-space . 1.3)) (next-note . (semi-fixed-space . 1.3)) (right-edge . (extra-space . 0.0)) @@ -108,10 +123,12 @@ ;; ;; Ross. page 151 lists other values, we opt for a leaner look - ;; + ;; + ;; TODO: + ;; kern should scale with linethickness too. (kern . 3.0) (thin-kern . 3.0) - (hair-thickness . 1.6) + (hair-thickness . 1.9) (thick-thickness . 6.0) (meta . ((interfaces . (bar-line-interface item-interface break-aligned-interface font-interface)))) )) @@ -119,7 +136,7 @@ (BarNumber . ( - (print-function . ,Text_item::print) + (print-function . ,Text_interface::print) (breakable . #t) (break-visibility . ,begin-of-line-visible) (padding . 1.0) @@ -142,7 +159,7 @@ (BassFigure . ( - (print-function . ,Text_item::print) + (print-function . ,Text_interface::print) (Y-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) (direction . 1) (font-family . number) @@ -160,8 +177,6 @@ ;; todo: clean this up a bit: the list is getting ;; rather long. (print-function . ,Beam::print) - (concaveness-gap . 1.85) - (concaveness-threshold . 0.26) (gap . 0.8) (positions . (#f . #f)) (position-callbacks . (,Beam::least_squares @@ -194,7 +209,6 @@ ;; sadly possibly breaking patterns with high order beams. (beamed-stem-shorten . (1.0 0.5 0.25)) - (slope-limit . 0.2) (flag-width-function . ,beam-flag-width-function) (damping . 1) (auto-knee-gap . 5.5) @@ -211,18 +225,19 @@ (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) + (instrument-name + left-edge ambitus breathing-sign + clef staff-bar key-cancellation key-signature + time-signature custos) ; unbroken (instrument-name left-edge ambitus breathing-sign - clef staff-bar key-signature + clef staff-bar key-cancellation key-signature staff time-signature custos) ; begin of line (instrument-name left-edge ambitus breathing-sign - clef key-signature staff-bar + clef key-cancellation key-signature staff-bar time-signature custos) )) @@ -252,7 +267,7 @@ (first-note . (fixed-space . 1.0)) ;huh? (right-edge . (extra-space . 0.1)) )) - (print-function . ,Text_item::print) + (print-function . ,Text_interface::print) (text . ,(make-musicglyph-markup "scripts-rcomma")) (Y-offset-callbacks . (,Breathing_sign::offset_callback)) (break-visibility . ,begin-of-line-invisible) @@ -269,6 +284,7 @@ (break-visibility . ,begin-of-line-visible) (space-alist . ((ambitus . (extra-space . 2.0)) (staff-bar . (extra-space . 0.7)) + (key-cancellation . (minimum-space . 4.0)) (key-signature . (minimum-space . 4.0)) (time-signature . (minimum-space . 4.2)) (first-note . (minimum-fixed-space . 5.0)) @@ -298,7 +314,7 @@ (ChordName . ( - (print-function . ,Text_item::print) + (print-function . ,Text_interface::print) (after-line-breaking-callback . ,Chord_name::after_line_breaking) (word-space . 0.0) (font-family . sans) @@ -343,25 +359,24 @@ (meta . ((interfaces . (font-interface staff-symbol-referencer-interface dots-interface item-interface )))) )) - (DoublePercentRepeat . - ( - (print-function . ,Percent_repeat_item_interface::double_percent) - (breakable . #t) - (slope . 1.0) - (font-encoding . fetaMusic) - (width . 2.0) - (thickness . 0.48) - (break-align-symbol . staff-bar) - (break-visibility . ,begin-of-line-invisible) - (meta . ((interfaces . (font-interface - break-aligned-interface - percent-repeat-interface item-interface )))) - )) - + (DoublePercentRepeat + . ( + (print-function . ,Percent_repeat_item_interface::double_percent) + (breakable . #t) + (slope . 1.0) + (font-encoding . fetaMusic) + (width . 2.0) + (thickness . 0.48) + (break-align-symbol . staff-bar) + (break-visibility . ,begin-of-line-invisible) + (meta . ((interfaces . (font-interface + break-aligned-interface + percent-repeat-interface item-interface )))) + )) (DynamicText . ( (Y-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) - (print-function . ,Text_item::print) + (print-function . ,Text_interface::print) (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self ,Self_alignment_interface::centered_on_parent)) (self-alignment-X . 0) @@ -371,9 +386,26 @@ (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)))) + (meta . ((interfaces . (font-interface text-interface self-alignment-interface + dynamic-interface script-interface item-interface)))) )) + (DynamicTextSpanner + . ((print-function . ,Dynamic_text_spanner::print) + (font-series . bold) + (font-shape . italic) + (style . dashed-line) + ; need to blend with dynamic texts. + (font-size . 2) + (bound-padding . 0.75) + (dash-fraction . 0.2) + (dash-period . 3.0) + (meta . ((interfaces . (font-interface + text-interface + dynamic-interface dynamic-text-spanner-interface + item-interface)))) + )) + (DynamicLineSpanner . ( (axes . (1)) @@ -383,8 +415,9 @@ (padding . 0.6) (minimum-space . 1.2) (direction . -1) - (meta . ((interfaces . (dynamic-interface axis-group-interface side-position-interface spanner-interface)))) - )) + + (meta . ((interfaces . (dynamic-interface axis-group-interface + side-position-interface spanner-interface)))) )) (LeftEdge . ( @@ -401,21 +434,28 @@ (first-note . (fixed-space . 1.0)) (right-edge . (extra-space . 0.0)) (key-signature . (extra-space . 0.0)) + (key-cancellation . (extra-space . 0.0)) + )) (meta . ((interfaces . (break-aligned-interface item-interface )))) )) (Fingering . ( - (print-function . ,Text_item::print) - (padding . 0.6) - (staff-padding . 0.6) + (print-function . ,Text_interface::print) + + ; sync with TextScript (?) + (padding . 0.5) + (staff-padding . 0.5) (self-alignment-X . 0) (self-alignment-Y . 0) (script-priority . 100) (font-encoding . fetaNumber) (font-size . -5) ; don't overlap when next to heads. - (meta . ((interfaces . (finger-interface font-interface text-script-interface text-interface side-position-interface self-alignment-interface item-interface )))) + (meta . ((interfaces . (finger-interface + font-interface text-script-interface text-interface + side-position-interface self-alignment-interface + item-interface)))) )) (Glissando @@ -438,7 +478,7 @@ (height . 0.6666) (spacing-procedure . ,Spanner::set_spacing_rods) (minimum-length . 2.0) - (if-text-padding . 1.0) + (bound-padding . 1.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)))) @@ -451,7 +491,11 @@ (Y-offset-callbacks . (,Side_position_interface::aligned_side)) (padding . 0.2) (direction . -1) - (meta . ((interfaces . (horizontal-bracket-interface side-position-interface spanner-interface)))) + (bracket-flare . (0.5 . 0.5)) + (meta . ((interfaces . (horizontal-bracket-interface + side-position-interface + line-interface + spanner-interface)))) )) (InstrumentName . ( @@ -466,7 +510,7 @@ )) (self-alignment-Y . 0) - (print-function . ,Text_item::print) + (print-function . ,Text_interface::print) (break-align-symbol . instrument-name) (break-visibility . ,begin-of-line-visible) (baseline-skip . 2) @@ -481,7 +525,7 @@ (space-alist . ((left-edge . (extra-space . 1.0)) )) (break-align-symbol . instrument-name) - (print-function . ,Text_item::print) + (print-function . ,Text_interface::print) (break-align-symbol . clef) (break-visibility . ,begin-of-line-visible) (baseline-skip . 2) @@ -490,7 +534,23 @@ side-position-interface text-interface break-aligned-interface item-interface )))) )) - + (KeyCancellation + . ( + (print-function . ,Key_signature_interface::print) + (space-alist . ( + (time-signature . (extra-space . 1.25)) + (staff-bar . (extra-space . 0.6)) + (right-edge . (extra-space . 0.5)) + (first-note . (fixed-space . 2.5)) + )) + (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) + (break-align-symbol . key-cancellation) + (break-visibility . ,begin-of-line-invisible) + (breakable . #t) + + (meta . ((interfaces . (key-signature-interface font-interface + break-aligned-interface item-interface )))) + )) (KeySignature . ( (print-function . ,Key_signature_interface::print) @@ -504,7 +564,9 @@ (break-align-symbol . key-signature) (break-visibility . ,begin-of-line-visible) (breakable . #t) - (meta . ((interfaces . (key-signature-interface font-interface break-aligned-interface item-interface )))) + + (meta . ((interfaces . (key-signature-interface font-interface + break-aligned-interface item-interface )))) )) (LedgerLineSpanner . ( @@ -554,7 +616,7 @@ )) (LyricText - . ((print-function . ,Text_item::print) + . ((print-function . ,Text_interface::print) (X-offset-callbacks . (,Self_alignment_interface::aligned_on_parent)) (self-alignment-X . 0) (word-space . 0.6) @@ -574,7 +636,7 @@ (RehearsalMark . ( - (print-function . ,Text_item::print) + (print-function . ,Text_interface::print) (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) (Y-offset-callbacks . (,Side_position_interface::aligned_side)) (after-line-breaking-callback . ,shift-right-at-line-begin) @@ -585,15 +647,19 @@ (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 . (text-interface + side-position-interface font-interface mark-interface + self-alignment-interface item-interface )))) )) (MetronomeMark . ( - (print-function . ,Text_item::print) + (print-function . ,Text_interface::print) (Y-offset-callbacks . (,Side_position_interface::aligned_side)) (direction . 1) (padding . 0.8) - (meta . ((interfaces . (text-interface side-position-interface font-interface metronome-mark-interface item-interface)))) + (meta . ((interfaces . (text-interface + side-position-interface font-interface + metronome-mark-interface item-interface)))) )) (MeasureGrouping . ( @@ -616,33 +682,32 @@ (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)))) )) (MultiMeasureRestNumber . ( - (print-function . ,Text_item::print) + (print-function . ,Text_interface::print) (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 . 1.3) - (staff-padding . 1.3) + (padding . 0.4) + (staff-padding . 0.4) (font-encoding . fetaNumber) (meta . ((interfaces . (side-position-interface multi-measure-interface self-alignment-interface font-interface spanner-interface text-interface)))) )) (MultiMeasureRestText . ( - (print-function . ,Text_item::print) + (print-function . ,Text_interface::print) (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 . 1.5) - (staff-padding . 1.5) + (padding . 0.2) + (staff-padding . 0.25) (meta . ((interfaces . (side-position-interface multi-measure-interface self-alignment-interface font-interface spanner-interface text-interface)))) )) (NoteCollision @@ -671,7 +736,10 @@ (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 )))) + (meta . ((interfaces . (rhythmic-grob-interface + rhythmic-head-interface font-interface note-head-interface + ledgered-interface + staff-symbol-referencer-interface item-interface )))) )) (NoteSpacing @@ -694,12 +762,12 @@ (Y-extent-callback . #f) (print-function . ,Line_spanner::print) (after-line-breaking-callback . ,Line_spanner::after_line_breaking) - (meta . ((interfaces . (line-spanner-interface spanner-interface)))) + (meta . ((interfaces . (line-spanner-interface line-interface spanner-interface)))) )) (NoteName . ( - (print-function . ,Text_item::print) + (print-function . ,Text_interface::print) (meta . ((interfaces . (note-name-interface text-interface font-interface item-interface )))) )) @@ -710,7 +778,7 @@ (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)) - (print-function . ,Text_item::print) + (print-function . ,Text_interface::print) ;; no Y dimensions, because of lyrics under tenor clef. (Y-extent . (0 . 0)) @@ -732,13 +800,13 @@ )) (PhrasingSlur - . ( - (print-function . ,New_slur::print) + . ((slur-details . ,default-slur-details) + (print-function . ,Slur::print) (thickness . 1.2) (spacing-procedure . ,Spanner::set_spacing_rods) (minimum-length . 1.5) - (after-line-breaking-callback . ,New_slur::after_line_breaking) - (Y-extent-callback . ,New_slur::height) + (after-line-breaking-callback . ,Slur::after_line_breaking) + (Y-extent-callback . ,Slur::height) (height-limit . 2.0) (ratio . 0.333) (meta . ((interfaces . (slur-interface spanner-interface)))) @@ -771,7 +839,7 @@ . ( (print-function . ,Piano_pedal_bracket::print) (style . line) - (if-text-padding . 1.0) + (bound-padding . 1.0) (direction . -1) (bracket-flare . (0.5 . 0.5)) (edge-height . (1.0 . 1.0)) @@ -844,13 +912,13 @@ )) (Slur - . ( - (print-function . ,New_slur::print) + . ((slur-details . ,default-slur-details) + (print-function . ,Slur::print) (thickness . 1.2) (spacing-procedure . ,Spanner::set_spacing_rods) (minimum-length . 1.5) - (after-line-breaking-callback . ,New_slur::after_line_breaking) - (Y-extent-callback . ,New_slur::height) + (after-line-breaking-callback . ,Slur::after_line_breaking) + (Y-extent-callback . ,Slur::height) ; Slur::height) (height-limit . 2.0) (ratio . 0.25) @@ -863,7 +931,7 @@ (grace-space-factor . 0.6) (shortest-duration-space . 2.0) (spacing-increment . 1.2) - (base-shortest-duration . ,(ly:make-moment 1 8)) + (base-shortest-duration . ,(ly:make-moment 3 16)) (meta . ((interfaces . (spacing-interface spacing-spanner-interface spanner-interface)))) )) @@ -890,7 +958,7 @@ )) (StanzaNumber - . ((print-function . ,Text_item::print) + . ((print-function . ,Text_interface::print) (font-series . bold) (padding . 1.0) (X-offset-callbacks . (,Side_position_interface::aligned_side)) @@ -908,7 +976,7 @@ (SostenutoPedal . ( - (print-function . ,Text_item::print) + (print-function . ,Text_interface::print) (direction . 1) (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) (no-spacing-rods . #t) @@ -968,14 +1036,14 @@ ;; 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)) + (beamed-lengths . (3.26 3.5 3.6)) ;; 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 . (1.83 1.5 1.25)) + ;(beamed-minimum-free-lengths . (2.0 1.83 1.25)) ;; The 'extreme case' minima (beamed-extreme-minimum-free-lengths . (2.0 1.25)) @@ -1079,10 +1147,12 @@ (TextScript . ( - (print-function . ,Text_item::print) + (print-function . ,Text_interface::print) (no-spacing-rods . #t) (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) (direction . -1) + + ; sync with Fingering ? (padding . 0.5) (staff-padding . 0.5) (script-priority . 200) @@ -1091,7 +1161,7 @@ )) (CombineTextScript . ( - (print-function . ,Text_item::print) + (print-function . ,Text_interface::print) (no-spacing-rods . #t) (Y-offset-callbacks . (,Side_position_interface::aligned_side)) (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) @@ -1111,14 +1181,23 @@ (font-shape . italic) (style . dashed-line) (staff-padding . 0.1) - - ;; urg, only for (de)cresc. text spanners - (if-text-padding . 1.0) (dash-fraction . 0.2) (dash-period . 3.0) (direction . 1) (meta . ((interfaces . (text-spanner-interface side-position-interface font-interface spanner-interface)))) )) + (TrillSpanner + . ( + (print-function . ,Dynamic_text_spanner::print) + (edge-text . ,(cons (make-musicglyph-markup "scripts-trill") + "")) + (style . trill) + (staff-padding . 1.0) + (padding . 0.5) + (direction . 1) + (Y-offset-callbacks . (,Side_position_interface::aligned_side)) + (meta . ((interfaces . (text-spanner-interface side-position-interface font-interface spanner-interface)))) + )) (OttavaBracket . ( @@ -1140,7 +1219,7 @@ (TabNoteHead . ( (style . default) - (print-function . ,Text_item::print) + (print-function . ,Text_interface::print) (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) (extra-offset . (0 . -0.65)) ;; UGH! TODO: Clean this up! (stem-attachment-function . ,tablature-stem-attachment-function) @@ -1176,7 +1255,7 @@ (TimeSignature . ( (print-function . ,Time_signature::print) -; (print-function . ,Text_item::print) +; (print-function . ,Text_interface::print) (break-align-symbol . time-signature) (break-visibility . ,all-visible) (space-alist . ( @@ -1208,7 +1287,7 @@ (UnaCordaPedal . ( - (print-function . ,Text_item::print) + (print-function . ,Text_interface::print) (font-shape . italic) (no-spacing-rods . #t) (self-alignment-X . 0) @@ -1259,6 +1338,7 @@ (Y-extent-callback . ,Axis_group_interface::group_extent_callback) (X-extent-callback . ,Axis_group_interface::group_extent_callback) (stacking-dir . -1) +; (threshold . (6 . 1000)) (meta . ((interfaces . (align-interface axis-group-interface spanner-interface)))) ))