X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-grobs.scm;h=49b9a32bac4494f9ca6adfbb59b7cacdd91717d0;hb=c74523f061cba5fb50d307ff04e3507c8b36f5c8;hp=645202e28ab5c113e39c1c78e2bc939213413513;hpb=8eafccec8c45891d8e00366ca2f67f67a9c93cf9;p=lilypond.git diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index 645202e28a..49b9a32bac 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -319,7 +319,7 @@ (beaming . ,ly:beam::calc-beaming) (stencil . ,ly:beam::print) (clip-edges . #t) - (cross-staff . ,ly:beam::cross-staff) + (cross-staff . ,ly:beam::calc-cross-staff) (details . ((hint-direction-penalty . 20))) ;; TODO: should be in SLT. @@ -631,22 +631,42 @@ (DynamicTextSpanner . ( - (stencil . ,ly:dynamic-text-spanner::print) - ;; rather ugh with NCSB ;; (font-series . bold) (font-shape . italic) (style . dashed-line) + ;; make sure the spanner doesn't get too close to notes + (minimum-Y-extent . (-1 . 1)) + (bound-details . ((right . ((attach-dir . ,LEFT) + (Y . 0) + (padding . 0.75) + )) + (right-broken . ((attach-dir . ,RIGHT) + (padding . 0.0) + )) + + (left . ((attach-dir . ,LEFT) + (Y . 0) + (stencil-offset . (0 . -0.5)) + (padding . 0.5) + )) + (left-broken . ((attach-dir . ,RIGHT) + )) + )) + (stencil . ,ly:line-spanner::print) + (left-bound-info . ,ly:line-spanner::calc-left-bound-info-and-text) + (right-bound-info . ,ly:line-spanner::calc-right-bound-info) + ;; need to blend with dynamic texts. (font-size . 1) - (bound-padding . 0.75) (dash-fraction . 0.2) (dash-period . 3.0) (meta . ((class . Spanner) (interfaces . (font-interface text-interface line-spanner-interface + line-interface dynamic-interface dynamic-text-spanner-interface spanner-interface)))))) @@ -692,8 +712,16 @@ (zigzag-width . 0.75) (X-extent . #f) (Y-extent . #f) + (bound-details . ((right . ((attach-dir . ,CENTER) + (padding . 1.5) + )) + (left . ((attach-dir . ,CENTER) + (padding . 1.5) + )) + )) (stencil . ,ly:line-spanner::print) - (after-line-breaking . ,ly:line-spanner::after-line-breaking) + (left-bound-info . ,ly:line-spanner::calc-left-bound-info) + (right-bound-info . ,ly:line-spanner::calc-right-bound-info) (meta . ((class . Spanner) (interfaces . (line-interface unbreakable-spanner-interface @@ -1228,7 +1256,7 @@ (minimum-length . 1.5) (height-limit . 2.0) (ratio . 0.333) - (cross-staff . ,ly:slur::cross-staff) + (cross-staff . ,ly:slur::calc-cross-staff) (meta . ((class . Spanner) (interfaces . (slur-interface)))))) @@ -1427,7 +1455,7 @@ (height-limit . 2.0) (ratio . 0.25) (avoid-slur . inside) - (cross-staff . ,ly:slur::cross-staff) + (cross-staff . ,ly:slur::calc-cross-staff) (meta . ((class . Spanner) (interfaces . (slur-interface)))))) @@ -1548,7 +1576,7 @@ (Y-extent . ,ly:stem::height) (length . ,ly:stem::calc-length) (thickness . 1.3) - (cross-staff . ,ly:stem::cross-staff) + (cross-staff . ,ly:stem::calc-cross-staff) (details . ( ;; 3.5 (or 3 measured from note head) is standard length @@ -1650,8 +1678,6 @@ (X-offset . ,ly:self-alignment-interface::x-aligned-on-self) (meta . ((class . Item) (interfaces . (piano-pedal-interface - text-spanner-interface - line-spanner-interface text-interface self-alignment-interface piano-pedal-script-interface @@ -1787,7 +1813,6 @@ (TextSpanner . ( - (stencil . ,ly:text-spanner::print) (Y-offset . ,ly:side-position-interface::y-aligned-side) (font-shape . italic) (style . dashed-line) @@ -1797,9 +1822,21 @@ (side-axis . ,Y) (direction . ,UP) (outside-staff-priority . 350) + + (left-bound-info . ,ly:line-spanner::calc-left-bound-info) + (right-bound-info . ,ly:line-spanner::calc-right-bound-info) + (bound-details . ((left . ((Y . 0) + (padding . 0.25) + (attach-dir . ,LEFT) + )) + (right . ((Y . 0) + (padding . 0.25) + )) + )) + (stencil . ,ly:line-spanner::print) + (meta . ((class . Spanner) - (interfaces . (text-spanner-interface - line-spanner-interface + (interfaces . (line-spanner-interface side-position-interface font-interface)))))) @@ -1867,9 +1904,21 @@ (TrillSpanner . ( - (stencil . ,ly:dynamic-text-spanner::print) - (edge-text . ,(cons (make-musicglyph-markup "scripts.trill") - "")) + (left-bound-info . ,ly:line-spanner::calc-left-bound-info) + (right-bound-info . ,ly:line-spanner::calc-right-bound-info) + + (bound-details . ((left . ((text . ,(make-translate-scaled-markup + '(0.5 . -0.6) + (make-musicglyph-markup "scripts.trill"))) + (Y . 0) + (padding . 0.25) + (attach-dir . ,LEFT) + )) + (right . ((Y . 0))) + )) + + (stencil . ,ly:line-spanner::print) + (style . trill) (staff-padding . 1.0) (padding . 0.5) @@ -1878,8 +1927,9 @@ (side-axis . ,Y) (outside-staff-priority . 50) (meta . ((class . Spanner) - (interfaces . (text-spanner-interface - line-spanner-interface + (interfaces . (line-spanner-interface + line-interface + trill-spanner-interface side-position-interface font-interface)))))) @@ -1940,6 +1990,7 @@ (connect-to-neighbor . ,ly:tuplet-bracket::calc-connect-to-neighbors) (control-points . ,ly:tuplet-bracket::calc-control-points) (stencil . ,ly:tuplet-bracket::print) + (cross-staff . ,ly:tuplet-bracket::calc-cross-staff) (meta . ((class . Spanner) (interfaces . (line-interface @@ -1952,6 +2003,7 @@ (font-shape . italic) (font-size . -2) (avoid-slur . inside) + (cross-staff . ,ly:tuplet-number::calc-cross-staff) (meta . ((class . Spanner) (interfaces . (text-interface tuplet-number-interface font-interface)))))) @@ -2016,7 +2068,7 @@ (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) + (skylines . ,ly:hara-kiri-group-spanner::calc-skylines) (max-stretch . ,ly:axis-group-interface::calc-max-stretch) (meta . ((class . Spanner) (object-callbacks . ((X-common . ,ly:axis-group-interface::calc-x-common))) @@ -2031,6 +2083,7 @@ (direction . ,UP) (padding . 1) (font-encoding . fetaNumber) + (minimum-Y-extent . (0 . 2)) (Y-offset . ,ly:side-position-interface::y-aligned-side) (side-axis . ,Y) (thickness . 1.6) ;; line-thickness @@ -2055,8 +2108,16 @@ (non-musical . #t) (X-extent . #f) (Y-extent . #f) + (bound-details . ((right . ((attach-dir . ,CENTER) + (padding . 1.5) + )) + (left . ((attach-dir . ,CENTER) + (padding . 1.5) + )) + )) (stencil . ,ly:line-spanner::print) - (after-line-breaking . ,ly:line-spanner::after-line-breaking) + (left-bound-info . ,ly:line-spanner::calc-left-bound-info) + (right-bound-info . ,ly:line-spanner::calc-right-bound-info) (meta . ((class . Spanner) (interfaces . (line-spanner-interface line-interface))))