X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=scm%2Fdefine-grobs.scm;h=813c93b13168f4b85362bff1bff5e691a78def38;hb=512b082a1c470d0315ae8c5f48da3b374a2de716;hp=9d894be3e358a5df1f66f41c3c813169a0c27369;hpb=09412c25cce3fdffce7cefe491cb3849ece0ae3e;p=lilypond.git diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index 9d894be3e3..813c93b131 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -79,18 +79,14 @@ (font-size . -2) (glyph-name-alist . ,standard-alteration-glyph-name-alist) (outside-staff-priority . 0) + (parent-alignment-X . ,CENTER) (script-priority . 0) (self-alignment-X . ,CENTER) (side-axis . ,Y) (staff-padding . 0.25) (stencil . ,ly:accidental-interface::print) (X-extent . ,ly:accidental-interface::width) - (X-offset . ,(ly:make-simple-closure - `(,+ - ,(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))))) + (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent) (Y-extent . ,accidental-interface::height) (Y-offset . ,side-position-interface::y-aligned-side) (meta . ((class . Item) @@ -221,7 +217,7 @@ ;; TODO: ;; kern should scale with line-thickness too. (kern . 3.0) - (thin-kern . 3.0) + (segno-kern . 3.0) (hair-thickness . 1.9) (thick-thickness . 6.0) @@ -267,12 +263,7 @@ (self-alignment-X . ,RIGHT) (side-axis . ,Y) (stencil . ,ly:text-interface::print) - (X-offset . ,(ly:make-simple-closure - `(,+ - ,(ly:make-simple-closure - (list ly:break-alignable-interface::self-align-callback)) - ,(ly:make-simple-closure - (list ly:self-alignment-interface::x-aligned-on-self))))) + (X-offset . ,self-alignment-interface::self-aligned-on-breakable) (Y-offset . ,side-position-interface::y-aligned-side) (Y-extent . ,grob::always-Y-extent-from-stencil) (meta . @@ -582,24 +573,23 @@ . ( (break-visibility . ,(grob::inherit-parent-property X 'break-visibility)) - (font-shape . italic) - (font-size . -4) - (transparent . ,(grob::inherit-parent-property - X 'transparent)) + (clef-alignments . ((G . (-0.2 . 0.1)) + (F . (-0.3 . -0.2)) + (C . (0 . 0)))) (color . ,(grob::inherit-parent-property X 'color)) + (font-shape . italic) + (font-size . -4) + (parent-alignment-X . ,ly:clef-modifier::calc-parent-alignment) (self-alignment-X . ,CENTER) (staff-padding . 0.7) (stencil . ,ly:text-interface::print) - (X-offset . ,(ly:make-simple-closure - `(,+ - ,(ly:make-simple-closure - (list ly:self-alignment-interface::x-aligned-on-self)) - ,(ly:make-simple-closure - (list ly:self-alignment-interface::centered-on-x-parent))))) - (Y-offset . ,side-position-interface::y-aligned-side) + (transparent . ,(grob::inherit-parent-property + X 'transparent)) (vertical-skylines . ,grob::always-vertical-skylines-from-stencil) + (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent) (Y-extent . ,grob::always-Y-extent-from-stencil) + (Y-offset . ,side-position-interface::y-aligned-side) (meta . ((class . Item) (interfaces . (clef-modifier-interface font-interface @@ -635,17 +625,19 @@ (font-series . bold) (outside-staff-priority . 450) (padding . 0.5) + (parent-alignment-X . #f) (script-priority . 200) + (self-alignment-X . #f) (side-axis . ,Y) (staff-padding . 0.5) - ;; todo: add X self alignment? (stencil . ,ly:text-interface::print) - (X-offset . ,ly:self-alignment-interface::x-aligned-on-self) + (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent) (Y-offset . ,side-position-interface::y-aligned-side) (Y-extent . ,grob::always-Y-extent-from-stencil) (meta . ((class . Item) (interfaces . (font-interface outside-staff-interface + self-alignment-interface side-position-interface text-interface text-script-interface)))))) @@ -780,18 +772,14 @@ (font-encoding . fetaText) (font-size . -2) (padding . 0.2) + (parent-alignment-X . ,CENTER) (self-alignment-X . ,CENTER) (side-axis . ,Y) (staff-padding . 0.25) (stencil . ,ly:text-interface::print) - (X-offset . ,(ly:make-simple-closure - `(,+ - ,(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))))) - (Y-offset . ,side-position-interface::y-aligned-side) + (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent) (Y-extent . ,grob::always-Y-extent-from-stencil) + (Y-offset . ,side-position-interface::y-aligned-side) (meta . ((class . Item) (interfaces . (font-interface outside-staff-interface @@ -851,12 +839,14 @@ (font-encoding . fetaText) (font-series . bold) (font-shape . italic) + (parent-alignment-X . ,CENTER) (positioning-done . ,ly:script-interface::calc-positioning-done) (right-padding . 0.5) (self-alignment-X . ,CENTER) (stencil . ,ly:text-interface::print) (vertical-skylines . ,grob::always-vertical-skylines-from-stencil) (Y-extent . ,grob::always-Y-extent-from-stencil) + (X-align-on-main-noteheads . #t) (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent) (Y-offset . ,(scale-by-font-size -0.6)) ; center on an 'm' (meta . ((class . Item) @@ -962,6 +952,8 @@ (font-encoding . fetaText) (font-size . -5) ; don't overlap when next to heads. (padding . 0.5) + (parent-alignment-X . ,CENTER) + (parent-alignment-Y . ,CENTER) (positioning-done . ,ly:script-interface::calc-positioning-done) (script-priority . 100) (self-alignment-X . ,CENTER) @@ -1105,15 +1097,11 @@ (GridLine . ( (layer . 0) + (parent-alignment-X . ,CENTER) (self-alignment-X . ,CENTER) (stencil . ,ly:grid-line-interface::print) - (X-extent . ,ly:grid-line-interface::width) - (X-offset . ,(ly:make-simple-closure - `(,+ - ,(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))))) + (X-extent . ,ly:grid-line-interface::width) + (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent) (meta . ((class . Item) (interfaces . (grid-line-interface self-alignment-interface)))))) @@ -1183,7 +1171,8 @@ (interfaces . (font-interface self-alignment-interface side-position-interface - system-start-text-interface)))))) + system-start-text-interface + text-interface)))))) (InstrumentSwitch . ( @@ -1220,7 +1209,8 @@ (key-signature . (extra-space . 0.5)) (cue-clef . (extra-space . 0.5)) (right-edge . (extra-space . 0.5)) - (first-note . (fixed-space . 2.5)))) + (first-note . (fixed-space . 2.5)) + (custos . (extra-space . 1.0)))) (stencil . ,ly:key-signature-interface::print) (vertical-skylines . ,grob::always-vertical-skylines-from-stencil) (Y-extent . ,grob::always-Y-extent-from-stencil) @@ -1410,12 +1400,14 @@ (extra-spacing-height . (0.2 . -0.2)) (font-series . medium) (font-size . 1.0) + (parent-alignment-X . ()) (self-alignment-X . ,CENTER) (stencil . ,lyric-text::print) (text . ,(grob::calc-property-by-copy 'text)) (word-space . 0.6) (skyline-horizontal-padding . 0.1) (vertical-skylines . ,grob::always-vertical-skylines-from-stencil) + (X-align-on-main-noteheads . #t) (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent) (Y-extent . ,grob::always-Y-extent-from-stencil) (meta . ((class . Item) @@ -1489,12 +1481,7 @@ (stencil . ,ly:text-interface::print) (vertical-skylines . ,grob::always-vertical-skylines-from-stencil) (Y-offset . ,side-position-interface::y-aligned-side) - (X-offset . ,(ly:make-simple-closure - `(,+ - ,(ly:make-simple-closure - (list ly:break-alignable-interface::self-align-callback)) - ,(ly:make-simple-closure - (list ly:self-alignment-interface::x-aligned-on-self))))) + (X-offset . ,self-alignment-interface::self-aligned-on-breakable) (self-alignment-X . ,LEFT) (break-align-symbols . (time-signature)) (non-break-align-symbols . (paper-column-interface)) @@ -1536,20 +1523,16 @@ (direction . ,UP) (font-encoding . fetaText) (padding . 0.4) + (parent-alignment-X . ,CENTER) (self-alignment-X . ,CENTER) (side-axis . ,Y) (springs-and-rods . ,ly:multi-measure-rest::set-text-rods) (staff-padding . 0.4) (stencil . ,ly:text-interface::print) - (X-offset . ,(ly:make-simple-closure - `(,+ - ,(ly:make-simple-closure - (list ly:self-alignment-interface::x-aligned-on-self)) - ,(ly:make-simple-closure - (list ly:self-alignment-interface::centered-on-x-parent))))) - (Y-offset . ,side-position-interface::y-aligned-side) (vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil) + (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent) (Y-extent . ,grob::always-Y-extent-from-stencil) + (Y-offset . ,side-position-interface::y-aligned-side) (meta . ((class . Spanner) (interfaces . (font-interface multi-measure-interface @@ -1563,19 +1546,15 @@ (direction . ,UP) (outside-staff-priority . 450) (padding . 0.2) + (parent-alignment-X . ,CENTER) (self-alignment-X . ,CENTER) (skyline-horizontal-padding . 0.2) (staff-padding . 0.25) (stencil . ,ly:text-interface::print) - (X-offset . ,(ly:make-simple-closure - `(,+ - ,(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))))) - (Y-offset . ,side-position-interface::y-aligned-side) (vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil) + (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent) (Y-extent . ,grob::always-Y-extent-from-stencil) + (Y-offset . ,side-position-interface::y-aligned-side) (meta . ((class . Spanner) (interfaces . (font-interface multi-measure-interface @@ -1771,17 +1750,13 @@ (font-encoding . fetaText) (font-size . -2) (padding . 0.2) + (parent-alignment-X . ,CENTER) (self-alignment-X . ,CENTER) (staff-padding . 0.25) (stencil . ,ly:text-interface::print) - (X-offset . ,(ly:make-simple-closure - `(,+ - ,(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))))) - (Y-offset . ,side-position-interface::y-aligned-side) + (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent) (Y-extent . ,grob::always-Y-extent-from-stencil) + (Y-offset . ,side-position-interface::y-aligned-side) (meta . ((class . Spanner) (interfaces . (font-interface percent-repeat-interface @@ -1843,12 +1818,7 @@ (self-alignment-X . ,CENTER) (stencil . ,ly:text-interface::print) (vertical-skylines . ,grob::always-vertical-skylines-from-stencil) - (X-offset . ,(ly:make-simple-closure - `(,+ - ,(ly:make-simple-closure - (list ly:break-alignable-interface::self-align-callback)) - ,(ly:make-simple-closure - (list ly:self-alignment-interface::x-aligned-on-self))))) + (X-offset . ,self-alignment-interface::self-aligned-on-breakable) (Y-offset . ,side-position-interface::y-aligned-side) (Y-extent . ,grob::always-Y-extent-from-stencil) (meta . ((class . Item) @@ -2146,6 +2116,7 @@ ;; and the extreme minima as abolute minimum length. (direction . ,ly:stem::calc-direction) + (double-stem-separation . 0.5) (duration-log . ,stem::calc-duration-log) (length . ,(ly:make-unpure-pure-container ly:stem::calc-length ly:stem::pure-calc-length)) (neutral-direction . ,DOWN) @@ -2174,17 +2145,13 @@ (beam-thickness . 0.48) ; staff-space (beam-width . ,ly:stem-tremolo::calc-width) ; staff-space (direction . ,ly:stem-tremolo::calc-direction) + (parent-alignment-X . ,CENTER) (slope . ,ly:stem-tremolo::calc-slope) (stencil . ,ly:stem-tremolo::print) (style . ,ly:stem-tremolo::calc-style) (X-extent . ,ly:stem-tremolo::width) + (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent) (Y-extent . ,(grob::unpure-Y-extent-from-stencil ly:stem-tremolo::pure-height)) - (X-offset . ,(ly:make-simple-closure - `(,+ - ,(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))))) (Y-offset . ,(ly:make-unpure-pure-container ly:stem-tremolo::calc-y-offset ly:stem-tremolo::pure-calc-y-offset)) (meta . ((class . Item) (interfaces . (self-alignment-interface @@ -2197,6 +2164,7 @@ (font-encoding . fetaText) (font-size . -5) ; don't overlap when next to heads. (padding . 0.5) + (parent-alignment-X . ,CENTER) (script-priority . 100) (self-alignment-X . ,CENTER) (self-alignment-Y . ,CENTER) @@ -2219,6 +2187,7 @@ (font-shape . italic) (font-size . -4) ; don't overlap when next to heads. (padding . 0.5) + (parent-alignment-X . ,CENTER) (script-priority . 100) (self-alignment-X . ,CENTER) (self-alignment-Y . ,CENTER) @@ -2388,7 +2357,7 @@ (TextScript . ( (avoid-slur . around) - (cross-staff . ,script-or-side-position-cross-staff) + (cross-staff . #f) (direction . ,DOWN) (extra-spacing-width . (+inf.0 . -inf.0)) (outside-staff-horizontal-padding . 0.2) @@ -2397,15 +2366,18 @@ ;; sync with Fingering ? (padding . 0.3) + (parent-alignment-X . #f) (script-priority . 200) + ;; self-alignment cannot be LEFT because of fingering diagrams. + (self-alignment-X . #f) (side-axis . ,Y) (slur-padding . 0.5) (staff-padding . 0.5) (stencil . ,ly:text-interface::print) (vertical-skylines . ,grob::always-vertical-skylines-from-stencil) - ;; todo: add X self alignment? (Y-extent . ,grob::always-Y-extent-from-stencil) - (X-offset . ,ly:self-alignment-interface::x-aligned-on-self) + (X-align-on-main-noteheads . #t) + (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent) (Y-offset . ,side-position-interface::y-aligned-side) (meta . ((class . Item) (interfaces . (font-interface