X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-grobs.scm;h=33493aabdf55f106378bd7c144c04d9993b37118;hb=1c4458de37e468a5d4fe023a34a5bcb05bf24aad;hp=920aaafbf63e1a1a12d253beefc0563bdde90eaa;hpb=6fbc6946de3cdd61f05505acd165e635d98fce9e;p=lilypond.git diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index 920aaafbf6..33493aabdf 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -20,13 +20,29 @@ (Accidental . ( (avoid-slur . inside) - (cautionary-style . parentheses) + (glyph-name-alist . ,standard-alteration-glyph-name-alist) + (alteration . ,accidental-interface::calc-alteration) (stencil . ,ly:accidental-interface::print) + (pure-Y-extent . ,ly:accidental-interface::pure-height) (after-line-breaking . ,ly:accidental-interface::after-line-breaking) (meta . ((class . Item) (interfaces . (accidental-interface font-interface)))))) + (AccidentalCautionary + . ( + (avoid-slur . inside) + (parenthesized . #t) + (glyph-name-alist . ,standard-alteration-glyph-name-alist) + (alteration . ,accidental-interface::calc-alteration) + (stencil . ,ly:accidental-interface::print) + (pure-Y-extent . ,ly:accidental-interface::pure-height) + (after-line-breaking + . ,ly:accidental-interface::after-line-breaking) + (meta . ((class . Item) + (interfaces . (accidental-interface + font-interface)))))) + (AccidentalSuggestion . ( @@ -36,12 +52,13 @@ ,(ly:make-simple-closure (list ly:self-alignment-interface::centered-on-x-parent)) ,(ly:make-simple-closure (list ly:self-alignment-interface::x-aligned-on-self))))) (self-alignment-X . ,CENTER) - (cautionary . #t) - (cautionary-style . smaller) + (font-size . -2) + (glyph-name-alist . ,standard-alteration-glyph-name-alist) + (alteration . ,accidental-interface::calc-alteration) (Y-offset . ,ly:side-position-interface::y-aligned-side) - (cautionary-style . parentheses) (direction . ,UP) (staff-padding . 0.25) + (outside-staff-priority . 0) (script-priority . 0) (side-axis . ,X) (meta . ((class . Item) @@ -51,6 +68,7 @@ accidental-suggestion-interface self-alignment-interface font-interface)))))) + (AccidentalPlacement . ( (left-padding . 0.2) @@ -103,8 +121,9 @@ (padding . 0.5) (X-offset . ,ly:side-position-interface::x-aligned-side) (direction . ,LEFT) - (cautionary-style . parentheses) (stencil . ,ly:accidental-interface::print) + (pure-Y-extent . ,ly:accidental-interface::pure-height) + (glyph-name-alist . ,standard-alteration-glyph-name-alist) (after-line-breaking . ,ly:accidental-interface::after-line-breaking) (side-axis . ,X) (meta . ((class . Item) @@ -160,6 +179,7 @@ (layer . 0) (break-visibility . ,all-visible) (non-musical . #t) + (extra-spacing-width . (-0.3 . 0.3)) (stencil . ,ly:bar-line::print) (glyph-name . ,bar-line::calc-glyph-name) @@ -200,10 +220,11 @@ (font-size . -2) (Y-offset . ,ly:side-position-interface::y-aligned-side) (side-axis . ,Y) + (outside-staff-priority . 100) (X-offset . ,(ly:make-simple-closure `(,+ ,(ly:make-simple-closure - (list ly:break-alignment-align-interface::self-align-callback)) + (list ly:break-alignable-interface::self-align-callback)) ,(ly:make-simple-closure (list ly:self-alignment-interface::x-aligned-on-self))))) @@ -215,7 +236,7 @@ ((class . Item) (interfaces . (side-position-interface text-interface - break-alignment-align-interface + break-alignable-interface self-alignment-interface font-interface )))) @@ -237,6 +258,7 @@ (positioning-done . ,ly:align-interface::calc-positioning-done) (Y-extent . ,ly:axis-group-interface::height) (stacking-dir . -1) + (padding . 0.2) (meta . ((class . Spanner) (interfaces . (align-interface bass-figure-alignment-interface @@ -274,6 +296,7 @@ . ( (axes . (,Y)) (Y-extent . ,ly:axis-group-interface::height) + (skylines . ,ly:axis-group-interface::calc-skylines) (meta . ((class . Spanner) (interfaces . (axis-group-interface )))))) @@ -333,7 +356,7 @@ (BendAfter . ( - (stencil . ,fall::print) + (stencil . ,bend::print) (thickness . 2.0) (meta . ((class . Spanner) (interfaces . (spanner-interface @@ -343,7 +366,7 @@ . ( (non-musical . #t) (stacking-dir . 1) - (positioning-done . ,ly:break-align-interface::calc-positioning-done) + (positioning-done . ,ly:break-alignment-interface::calc-positioning-done) (X-extent . ,ly:axis-group-interface::width) (break-align-orders . ;; end of line #(( @@ -421,6 +444,7 @@ (stencil . ,ly:clef::print) (glyph-name . ,ly:clef::calc-glyph-name) (non-musical . #t) + (avoid-slur . inside) (font-family . music) (break-align-symbol . clef) (break-visibility . ,begin-of-line-visible) @@ -443,7 +467,8 @@ . ( (Y-extent . ,ly:cluster-beacon::height) (meta . ((class . Item) - (interfaces . (cluster-beacon-interface)))))) + (interfaces . (rhythmic-grob-interface + cluster-beacon-interface)))))) (ClusterSpanner . ( @@ -472,7 +497,7 @@ (CombineTextScript . ( (stencil . ,ly:text-interface::print) - (no-spacing-rods . #t) + (extra-spacing-width . (+inf.0 . -inf.0)) (Y-offset . ,ly:side-position-interface::y-aligned-side) (X-offset . ,ly:self-alignment-interface::x-aligned-on-self) (direction . ,UP) @@ -541,7 +566,7 @@ (meta . ((class . Item) (interfaces . (font-interface break-aligned-interface - percent-repeat-interface)))))) + percent-repeat-item-interface)))))) (DoublePercentRepeatCounter . ( @@ -559,7 +584,7 @@ (meta . ((class . Item) (interfaces . (side-position-interface self-alignment-interface - percent-repeat-interface + percent-repeat-item-interface font-interface text-interface)))))) (DynamicLineSpanner @@ -573,6 +598,7 @@ (minimum-space . 1.2) (direction . ,DOWN) (side-axis . ,Y) + (outside-staff-priority . 250) (Y-extent . ,ly:axis-group-interface::height) (X-extent . ,ly:axis-group-interface::width) (meta . ((class . Spanner) @@ -597,8 +623,8 @@ (font-encoding . fetaDynamic) (font-shape . italic) (avoid-slur . around) - (no-spacing-rods . #t) - (script-priority . 100) + (extra-spacing-width . (+inf.0 . -inf.0)) + (outside-staff-priority . 250) (meta . ((class . Item) (interfaces . (font-interface text-interface @@ -668,7 +694,6 @@ (style . line) (gap . 0.5) (zigzag-width . 0.75) - (non-musical . #t) (X-extent . #f) (Y-extent . #f) (stencil . ,ly:line-spanner::print) @@ -775,6 +800,7 @@ (KeyCancellation . ( (stencil . ,ly:key-signature-interface::print) + (glyph-name-alist . ,cancellation-glyph-name-alist) (space-alist . ( (time-signature . (extra-space . 1.25)) (staff-bar . (extra-space . 0.6)) @@ -786,12 +812,15 @@ (break-visibility . ,begin-of-line-invisible) (non-musical . #t) (meta . ((class . Item) - (interfaces . (key-signature-interface + (interfaces . (key-cancellation-interface + key-signature-interface font-interface break-aligned-interface)))))) (KeySignature . ( (stencil . ,ly:key-signature-interface::print) + (avoid-slur . inside) + (glyph-name-alist . ,standard-alteration-glyph-name-alist) (space-alist . ( (time-signature . (extra-space . 1.15)) (staff-bar . (extra-space . 1.1)) @@ -842,7 +871,7 @@ (length-fraction . 0.25) (layer . 0) (meta . ((class . Spanner) - (interfaces . (ledger-line-interface)))))) + (interfaces . (ledger-line-spanner-interface)))))) (LeftEdge . ( @@ -904,8 +933,8 @@ (minimum-length . 0.3) (minimum-distance . 0.1) (padding . 0.07) - (springs-and-rods . ,ly:hyphen-spanner::set-spacing-rods) - (stencil . ,ly:hyphen-spanner::print) + (springs-and-rods . ,ly:lyric-hyphen::set-spacing-rods) + (stencil . ,ly:lyric-hyphen::print) (Y-extent . (0 . 0)) (meta . ((class . Spanner) (interfaces . (lyric-interface @@ -915,7 +944,7 @@ (LyricSpace . ((minimum-distance . 0.45) - (springs-and-rods . ,ly:hyphen-spanner::set-spacing-rods) + (springs-and-rods . ,ly:lyric-hyphen::set-spacing-rods) (padding . 0.0) (Y-extent . #f) (X-extent . #f) @@ -977,6 +1006,7 @@ (direction . ,UP) (padding . 0.8) (side-axis . ,Y) + (outside-staff-priority . 1000) (meta . ((class . Item) (interfaces . (text-interface side-position-interface @@ -1128,11 +1158,7 @@ (Y-offset . ,ly:side-position-interface::y-aligned-side) (stencil . ,ly:text-interface::print) - - ;; no Y dimensions, because of lyrics under tenor clef. - (Y-extent . (0 . 0)) (font-shape . italic) - (padding . 0.6) (staff-padding . 0.2) (font-size . -4) (meta . ((class . Item) @@ -1153,6 +1179,7 @@ (dash-fraction . 0.3) (edge-height . (0 . 1.2)) (direction . ,UP) + (outside-staff-priority . 400) (meta . ((class . Spanner) (interfaces . (ottava-bracket-interface horizontal-bracket-interface @@ -1178,11 +1205,20 @@ (ParenthesesItem . ((stencil . ,parentheses-item::print) + (stencils . ,parentheses-item::calc-parenthesis-stencils) (font-size . -6) (padding . 0.2) (meta . ((class . Item) (interfaces . (parentheses-interface font-interface)))) )) + + (HarmonicParenthesesItem + . ((stencil . ,parentheses-item::print) + (padding . 0) + (stencils . ,parentheses-item::calc-angled-bracket-stencils) + (meta . ((class . Item) + (interfaces . (parentheses-interface font-interface)))) + )) (PhrasingSlur . ((details . ,default-slur-details) @@ -1210,7 +1246,7 @@ (meta . ((class . Spanner) (interfaces . (multi-measure-rest-interface font-interface - percent-repeat-interface)))))) + percent-repeat-item-interface)))))) (PercentRepeatCounter . ( (stencil . ,ly:text-interface::print) @@ -1227,7 +1263,7 @@ (meta . ((class . Spanner) (interfaces . (side-position-interface self-alignment-interface - percent-repeat-interface + percent-repeat-item-interface font-interface text-interface)))))) @@ -1253,7 +1289,7 @@ (X-offset . ,(ly:make-simple-closure `(,+ ,(ly:make-simple-closure - (list ly:break-alignment-align-interface::self-align-callback)) + (list ly:break-alignable-interface::self-align-callback)) ,(ly:make-simple-closure (list ly:self-alignment-interface::x-aligned-on-self))))) @@ -1264,12 +1300,13 @@ (font-size . 2) (baseline-skip . 2) (break-visibility . ,end-of-line-invisible) - (break-align-symbol . staff-bar) + (break-align-symbol . clef) (padding . 0.8) + (outside-staff-priority . 1500) (meta . ((class . Item) (interfaces . (text-interface side-position-interface - break-alignment-align-interface + break-alignable-interface font-interface mark-interface self-alignment-interface)))))) @@ -1280,7 +1317,8 @@ (thickness . 0.48) (slope . 1.7) (meta . ((class . Item) - (interfaces . (percent-repeat-interface)))))) + (interfaces . (rhythmic-grob-interface + percent-repeat-item-interface)))))) (RepeatTie . ( @@ -1312,7 +1350,7 @@ (Rest . ( (stencil . ,ly:rest::print) - (duration-log . ,note-head::calc-duration-log) + (duration-log . ,stem::calc-duration-log) (X-extent . ,ly:rest::width) (Y-extent . ,ly:rest::height) (Y-offset . ,ly:rest::y-offset-callback) @@ -1366,6 +1404,7 @@ (avoid-slur . inside) (X-extent . ,ly:axis-group-interface::width) (Y-extent . ,ly:axis-group-interface::height) + (skylines . ,ly:separation-item::calc-skylines) (meta . ((class . Item) (interfaces . (spacing-interface separation-item-interface)))))) @@ -1376,7 +1415,7 @@ (meta . ((class . Spanner) (interfaces . (only-prebreak-interface spacing-interface - separation-spanner-interface)))))) + separating-group-spanner-interface)))))) (Slur . ((details . ,default-slur-details) @@ -1399,7 +1438,7 @@ (stencil . ,ly:text-interface::print) (direction . ,RIGHT) (X-offset . ,ly:self-alignment-interface::x-aligned-on-self) - (no-spacing-rods . #t) + (extra-spacing-width . (+inf.0 . -inf.0)) (padding . 0.0) ;; padding relative to SostenutoPedalLineSpanner (font-shape . italic) (self-alignment-X . 0) @@ -1605,7 +1644,7 @@ (SustainPedal . ( - (no-spacing-rods . #t) + (extra-spacing-width . (+inf.0 . -inf.0)) (stencil . ,ly:sustain-pedal::print) (self-alignment-X . 0) (direction . ,RIGHT) @@ -1640,6 +1679,8 @@ (axes . (0 1)) (X-extent . ,ly:axis-group-interface::width) (Y-extent . ,ly:axis-group-interface::height) + (skylines . ,ly:axis-group-interface::calc-skylines) + (skyline-horizontal-padding . 1.0) (meta . ((class . System) (interfaces . (system-interface axis-group-interface)))))) @@ -1702,12 +1743,12 @@ (interfaces . (side-position-interface system-start-delimiter-interface)))))) - (TabNoteHead . ( (stencil . ,ly:text-interface::print) (Y-offset . ,ly:staff-symbol-referencer::callback) - (duration-log . ,note-head::calc-duration-log) + (X-offset . ,ly:self-alignment-interface::x-aligned-on-self) + (direction . 0) (font-size . -2) (stem-attachment . (0.0 . 1.35)) (font-series . bold) @@ -1721,7 +1762,7 @@ (TextScript . ( - (no-spacing-rods . #t) + (extra-spacing-width . (+inf.0 . -inf.0)) (X-offset . ,ly:self-alignment-interface::x-aligned-on-self) (Y-offset . ,ly:side-position-interface::y-aligned-side) (side-axis . ,Y) @@ -1734,6 +1775,7 @@ (stencil . ,ly:text-interface::print) (direction . ,ly:script-interface::calc-direction) + (outside-staff-priority . 450) (avoid-slur . around) (slur-padding . 0.5) (script-priority . 200) @@ -1755,6 +1797,7 @@ (dash-period . 3.0) (side-axis . ,Y) (direction . ,UP) + (outside-staff-priority . 350) (meta . ((class . Spanner) (interfaces . (text-spanner-interface line-spanner-interface @@ -1770,7 +1813,7 @@ (stencil . ,ly:tie::print) (font-size . -6) (details . ( - ;; for a full list, see tie-helper.cc + ;; for a full list, see tie-details.cc (ratio . 0.333) (center-staff-line-clearance . 0.6) (tip-staff-line-clearance . 0.45) @@ -1808,6 +1851,7 @@ (stencil . ,ly:time-signature::print) (break-align-symbol . time-signature) (break-visibility . ,all-visible) + (avoid-slur . inside) (space-alist . ( (first-note . (fixed-space . 2.0)) (right-edge . (extra-space . 0.5)) @@ -1830,6 +1874,7 @@ (direction . ,UP) (Y-offset . ,ly:side-position-interface::y-aligned-side) (side-axis . ,Y) + (outside-staff-priority . 50) (meta . ((class . Spanner) (interfaces . (text-spanner-interface line-spanner-interface @@ -1843,6 +1888,7 @@ (font-size . -4) (side-axis . ,X) (stencil . ,ly:accidental-interface::print) + (glyph-name-alist . ,standard-alteration-glyph-name-alist) (meta . ((class . Item) (interfaces . (item-interface trill-pitch-accidental-interface @@ -1854,6 +1900,7 @@ (axes . (,X)) (font-size . -4) (stencil . ,parenthesize-elements) + (stencils . ,parentheses-item::calc-parenthesis-stencils) (direction . ,RIGHT) (side-axis . ,X) (padding . 0.3) @@ -1862,7 +1909,6 @@ note-head-interface rhythmic-head-interface font-interface - accidental-interface axis-group-interface)))))) (TrillPitchHead @@ -1911,7 +1957,7 @@ . ( (stencil . ,ly:text-interface::print) (font-shape . italic) - (no-spacing-rods . #t) + (extra-spacing-width . (+inf.0 . -inf.0)) (self-alignment-X . 0) (direction . ,RIGHT) (padding . 0.0) ;; padding relative to UnaCordaPedalLineSpanner @@ -1954,7 +2000,8 @@ (Y-extent . ,ly:axis-group-interface::height) (X-extent . ,ly:axis-group-interface::width) (stacking-dir . -1) - (padding . 0.1) + (padding . 0.5) + (skylines . ,ly:axis-group-interface::combine-skylines) (meta . ((class . Spanner) (interfaces . (align-interface axis-group-interface)))))) @@ -1964,9 +2011,10 @@ (Y-offset . ,ly:hara-kiri-group-spanner::force-hara-kiri-callback) (Y-extent . ,ly:hara-kiri-group-spanner::y-extent) (X-extent . ,ly:axis-group-interface::width) + (skylines . ,ly:axis-group-interface::calc-skylines); (meta . ((class . Spanner) (interfaces . (axis-group-interface - hara-kiri-group-interface + hara-kiri-group-spanner-interface vertically-spaceable-interface)))))) @@ -1982,6 +2030,7 @@ (edge-height . (2.0 . 2.0)) ;; staff-space; (minimum-space . 5) (font-size . -4) + (outside-staff-priority . 100) (meta . ((class . Spanner) (interfaces . (volta-bracket-interface horizontal-bracket-interface @@ -2058,7 +2107,10 @@ (define pure-print-callbacks (list + ly:bar-line::print ly:note-head::print + ly:accidental-interface::print + ly:dots::print ly:clef::print ly:text-interface::print ly:script-interface::print)) @@ -2111,4 +2163,7 @@ (apply unpure args) (let ((pure (assq unpure pure-conversions-alist))) (if pure - (apply (cdr pure) (append (list (car args) start end) (cdr args))))))))) + (apply (cdr pure) + (append + (list (car args) start end) + (cdr args)))))))))