X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-grobs.scm;h=05b7d5eb2c74de0863bf720945892709b57e463b;hb=18037c60a42e96cf61b13006bb391e3699bdc45e;hp=eb54bfbec8b1e885ffae78a2137f2ebaa34a8e05;hpb=c225073ce98f6270b8f2725296fc8f02f1fe0065;p=lilypond.git diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index eb54bfbec8..05b7d5eb2c 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -67,14 +67,14 @@ . ( (axes . (0 1)) (X-extent . ,ly:axis-group-interface::width) - (X-extent . ,ly:axis-group-interface::height) + (Y-extent . ,ly:axis-group-interface::height) (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) + (non-musical . #t) (break-align-symbol . ambitus) (break-visibility . ,begin-of-line-visible) (meta . ((class . Item) @@ -142,9 +142,10 @@ . ( (break-align-symbol . staff-bar) (glyph . "|") + (gap . 0.4) (layer . 0) (break-visibility . ,all-visible) - (breakable . #t) + (non-musical . #t) (stencil . ,ly:bar-line::print) (glyph-name . ,bar-line::calc-glyph-name) @@ -177,7 +178,7 @@ (BarNumber . ( (stencil . ,ly:text-interface::print) - (breakable . #t) + (non-musical . #t) (break-visibility . ,begin-of-line-visible) (padding . 1.0) (direction . ,UP) @@ -185,16 +186,23 @@ (font-size . -2) (Y-offset . ,ly:side-position-interface::y-aligned-side) (side-axis . ,Y) - (X-offset . ,ly:self-alignment-interface::x-aligned-on-self) - (self-alignment-X . 1) + (X-offset . ,(ly:make-simple-closure + `(,+ + ,(ly:make-simple-closure + (list ly:break-alignment-align-interface::self-align-callback)) + ,(ly:make-simple-closure + (list ly:self-alignment-interface::x-aligned-on-self))))) + (self-alignment-X . 1) + (break-align-symbol . left-edge) (meta . ((class . Item) (interfaces . (side-position-interface text-interface + break-alignment-align-interface self-alignment-interface font-interface - break-aligned-interface)))) + )))) )) (BassFigure @@ -205,6 +213,32 @@ rhythmic-grob-interface bass-figure-interface font-interface)))))) + + (BassFigureAlignment + . ( + (axes . (,Y)) + (threshold . (2 . 1000)) + (positioning-done . ,ly:align-interface::calc-positioning-done) + (Y-extent . ,ly:axis-group-interface::height) + (stacking-dir . -1) + (meta . ((class . Spanner) + (interfaces . (align-interface + bass-figure-alignment-interface + axis-group-interface)))))) + + (BassFigureAlignmentPositioning + . ((Y-offset . ,ly:side-position-interface::y-aligned-side) + (side-axis . ,Y) + (direction . ,UP) + (Y-extent . ,ly:axis-group-interface::height) + (axes . (,Y)) + (staff-padding . 1.0) + (padding . 0.5) + (meta . ((class . Spanner) + (interfaces . (side-position-interface + axis-group-interface + )))))) + (BassFigureBracket . ( (stencil . ,ly:enclosing-bracket::print) @@ -228,16 +262,6 @@ (interfaces . (axis-group-interface )))))) - (BassFigureAlignment - . ( - (axes . (,Y)) - (threshold . (2 . 1000)) - (positioning-done . ,ly:align-interface::calc-positioning-done) - (Y-extent . ,ly:axis-group-interface::height) - (stacking-dir . -1) - (meta . ((class . Spanner) - (interfaces . (align-interface - axis-group-interface)))))) (Beam . ( @@ -261,7 +285,8 @@ (shorten . ,ly:beam::calc-stem-shorten) (beaming . ,ly:beam::calc-beaming) (stencil . ,ly:beam::print) - + (clip-edges . #t) + ;; TODO: should be in SLT. (thickness . 0.48) ; in staff-space (neutral-direction . ,DOWN) @@ -290,9 +315,17 @@ (interfaces . (staff-symbol-referencer-interface beam-interface)))))) + (BendAfter + . ( + (stencil . ,fall::print) + (thickness . 2.0) + (meta . ((class . Spanner) + (interfaces . (spanner-interface + bend-after-interface)))))) + (BreakAlignment . ( - (breakable . #t) + (non-musical . #t) (stacking-dir . 1) (positioning-done . ,ly:break-align-interface::calc-positioning-done) (X-extent . ,ly:axis-group-interface::width) @@ -347,7 +380,7 @@ (BreathingSign . ( (break-align-symbol . breathing-sign) - (breakable . #t) + (non-musical . #t) (space-alist . ( (ambitus . (extra-space . 2.0)) (custos . (minimum-space . 1.0)) @@ -371,7 +404,7 @@ . ( (stencil . ,ly:clef::print) (glyph-name . ,ly:clef::calc-glyph-name) - (breakable . #t) + (non-musical . #t) (font-family . music) (break-align-symbol . clef) (break-visibility . ,begin-of-line-visible) @@ -443,7 +476,7 @@ (Custos . ( (break-align-symbol . custos) - (breakable . #t) + (non-musical . #t) (stencil . ,ly:custos::print) (break-visibility . ,end-of-line-visible) (style . vaticana) @@ -482,7 +515,7 @@ (DoublePercentRepeat . ( (stencil . ,ly:percent-repeat-item-interface::double-percent) - (breakable . #t) + (non-musical . #t) (slope . 1.0) (font-encoding . fetaMusic) (width . 2.0) @@ -574,10 +607,12 @@ (meta . ((class . Spanner) (interfaces . (font-interface text-interface + line-spanner-interface dynamic-interface dynamic-text-spanner-interface spanner-interface)))))) + (Fingering . ( @@ -609,7 +644,7 @@ (style . line) (gap . 0.5) (zigzag-width . 0.75) - (breakable . #t) + (non-musical . #t) (X-extent . #f) (Y-extent . #f) (stencil . ,ly:line-spanner::print) @@ -618,6 +653,16 @@ (interfaces . (line-interface line-spanner-interface)))))) + (GraceSpacing + . ( + (common-shortest-duration . ,grace-spacing::calc-shortest-duration) + (spacing-increment . 0.8) + (shortest-duration-space . 1.6) + (meta . ((class . Spanner) + (interfaces . (grace-spacing-interface + spacing-interface + spacing-options-interface + spanner-interface)))))) (GridPoint . ( (X-extent . (0 . 0)) @@ -645,6 +690,7 @@ (stencil . ,ly:hairpin::print) (springs-and-rods . ,ly:spanner::set-spacing-rods) (after-line-breaking . ,ly:hairpin::after-line-breaking) + (circled-tip . #f) (thickness . 1.0) (height . 0.6666) (minimum-length . 2.0) @@ -685,6 +731,20 @@ side-position-interface font-interface)))))) + (InstrumentSwitch + . ( + (padding . 0.3) + (stencil . ,ly:text-interface::print) + (Y-offset . ,ly:side-position-interface::y-aligned-side) + (X-offset . ,ly:self-alignment-interface::x-aligned-on-self) + (staff-padding . 2) + (direction . ,UP) + (self-alignment-X . ,CENTER) + (meta . ((class . Item) + (interfaces . (system-start-text-interface + side-position-interface + font-interface)))))) + (KeyCancellation . ( (stencil . ,ly:key-signature-interface::print) @@ -697,7 +757,7 @@ (Y-offset . ,ly:staff-symbol-referencer::callback) (break-align-symbol . key-cancellation) (break-visibility . ,begin-of-line-invisible) - (breakable . #t) + (non-musical . #t) (meta . ((class . Item) (interfaces . (key-signature-interface font-interface @@ -713,7 +773,7 @@ (Y-offset . ,ly:staff-symbol-referencer::callback) (break-align-symbol . key-signature) (break-visibility . ,begin-of-line-visible) - (breakable . #t) + (non-musical . #t) (meta . ((class . Item) (interfaces . (key-signature-interface font-interface @@ -760,7 +820,7 @@ . ( (break-align-symbol . left-edge) (X-extent . (0 . 0)) - (breakable . #t) + (non-musical . #t) (break-visibility . ,center-invisible) (space-alist . ( (custos . (extra-space . 0.0)) @@ -796,6 +856,17 @@ (interfaces . (line-interface tuplet-bracket-interface)))))) + + (LyricExtender + . ( + (stencil . ,ly:lyric-extender::print) + (thickness . 0.8) ; line-thickness + (minimum-length . 1.5) + (Y-extent . (0 . 0)) + (meta . ((class . Spanner) + (interfaces . (lyric-interface + lyric-extender-interface)))))) + (LyricHyphen . ( (thickness . 1.3) @@ -814,18 +885,8 @@ lyric-hyphen-interface spanner-interface)))))) - (LyricExtender - . ( - (stencil . ,ly:lyric-extender::print) - (thickness . 0.8) ; line-thickness - (minimum-length . 1.5) - (Y-extent . (0 . 0)) - (meta . ((class . Spanner) - (interfaces . (lyric-interface - lyric-extender-interface)))))) - (LyricSpace - . ((minimum-distance . 0.3) + . ((minimum-distance . 0.45) (springs-and-rods . ,ly:hyphen-spanner::set-spacing-rods) (padding . 0.0) (Y-extent . #f) @@ -1052,12 +1113,10 @@ (PaperColumn . ( (axes . (0)) - (before-line-breaking . ,ly:paper-column::before-line-breaking) ;; (stencil . ,ly:paper-column::print) (X-extent . ,ly:axis-group-interface::width) - ;; debugging ;; (font-size . -6) (font-name . "sans") (Y-extent . #f) (meta . ((class . Paper_column) @@ -1066,14 +1125,13 @@ spaceable-grob-interface)))))) (ParenthesesItem - . ( - (stencil . ,parentheses-item::print) + . ((stencil . ,parentheses-item::print) (font-size . -6) (padding . 0.2) (meta . ((class . Item) (interfaces . (parentheses-interface font-interface)))) - - )) + )) + (PhrasingSlur . ((details . ,default-slur-details) (control-points . ,ly:slur::calc-control-points) @@ -1095,7 +1153,9 @@ (X-extent . ,ly:axis-group-interface::width) ;; (stencil . ,ly:paper-column::print) - (breakable . #t) + (non-musical . #t) + (line-break-permission . allow) + (page-break-permission . allow) ;; debugging stuff: print column number. ;; (font-size . -6) (font-name . "sans") (Y-extent . #f) @@ -1156,22 +1216,25 @@ . ( (stencil . ,ly:text-interface::print) (X-offset . ,(ly:make-simple-closure - `(,+ ,(ly:make-simple-closure - `(,ly:self-alignment-interface::x-aligned-on-self)) - ,(ly:make-simple-closure - `(,ly:self-alignment-interface::centered-on-x-parent))) - )) + `(,+ + ,(ly:make-simple-closure + (list ly:break-alignment-align-interface::self-align-callback)) + ,(ly:make-simple-closure + (list ly:self-alignment-interface::x-aligned-on-self))))) + (Y-offset . ,ly:side-position-interface::y-aligned-side) (self-alignment-X . 0) (direction . ,UP) - (breakable . #t) + (non-musical . #t) (font-size . 2) (baseline-skip . 2) (break-visibility . ,end-of-line-invisible) + (break-align-symbol . staff-bar) (padding . 0.8) (meta . ((class . Item) (interfaces . (text-interface side-position-interface + break-alignment-align-interface font-interface mark-interface self-alignment-interface)))))) @@ -1287,7 +1350,7 @@ (meta . ((class . Spanner) (interfaces . (slur-interface)))))) - (SostenutoPedal + (SostenutoPedal . ( (stencil . ,ly:text-interface::print) (direction . ,RIGHT) @@ -1318,13 +1381,15 @@ (SpacingSpanner . ( (springs-and-rods . ,ly:spacing-spanner::set-springs) + (common-shortest-duration . ,ly:spacing-spanner::calc-common-shortest-duration) (average-spacing-wishes . #t) - (grace-space-factor . 0.6) (shortest-duration-space . 2.0) (spacing-increment . 1.2) + (base-shortest-duration . ,(ly:make-moment 3 16)) (meta . ((class . Spanner) (interfaces . (spacing-interface + spacing-options-interface spacing-spanner-interface)))))) (SpanBar @@ -1332,7 +1397,7 @@ (break-align-symbol . staff-bar) (Y-extent . ()) (layer . 0) - (breakable . #t) + (non-musical . #t) (stencil . ,ly:span-bar::print) (bar-size . ,ly:span-bar::calc-bar-size) (X-extent . ,ly:span-bar::width) @@ -1370,7 +1435,7 @@ (StaffSpacing . ( - (breakable . #t) + (non-musical . #t) (stem-spacing-correction . 0.4) (meta . ((class . Item) (interfaces . (spacing-interface @@ -1443,7 +1508,8 @@ (stencil . ,ly:stem-tremolo::print) (X-extent . #f) (slope . ,ly:stem-tremolo::calc-slope) - (beam-width . 1.6) ; staff-space + (beam-width . ,ly:stem-tremolo::calc-width) ; staff-space + (style . ,ly:stem-tremolo::calc-style) (beam-thickness . 0.48) ; staff-space (meta . ((class . Item) (interfaces . (stem-tremolo-interface)))))) @@ -1478,6 +1544,7 @@ (meta . ((class . Item) (interfaces . (piano-pedal-interface text-spanner-interface + line-spanner-interface text-interface self-alignment-interface font-interface)))))) @@ -1552,7 +1619,9 @@ (SystemStartBar . ( (Y-extent . #f) - (padding . 0.0) + + ;; ugh--hardcoded. + (padding . -0.1) ;; bar must cover rounded ending of staff line. (X-offset . ,ly:side-position-interface::x-aligned-side) (direction . ,LEFT) (style . bar-line) @@ -1568,7 +1637,7 @@ (stencil . ,ly:text-interface::print) (Y-offset . ,ly:staff-symbol-referencer::callback) (font-size . -2) - (stem-attachment . (1.0 . 1.35)) + (stem-attachment . (0.0 . 1.35)) (font-series . bold) (meta . ((class . Item) (interfaces @@ -1614,12 +1683,14 @@ (direction . ,UP) (meta . ((class . Spanner) (interfaces . (text-spanner-interface + line-spanner-interface side-position-interface font-interface)))))) (Tie . ( (control-points . ,ly:tie::calc-control-points) + (springs-and-rods . ,ly:spacing-spanner::set-springs) (avoid-slur . inside) (direction . ,ly:tie::calc-direction) (stencil . ,ly:tie::print) @@ -1666,7 +1737,7 @@ (first-note . (fixed-space . 2.0)) (right-edge . (extra-space . 0.5)) (staff-bar . (minimum-space . 2.0)))) - (breakable . #t) + (non-musical . #t) (style . C) (meta . ((class . Item) (interfaces . (time-signature-interface @@ -1686,6 +1757,7 @@ (side-axis . ,Y) (meta . ((class . Spanner) (interfaces . (text-spanner-interface + line-spanner-interface side-position-interface font-interface)))))) @@ -1698,7 +1770,6 @@ (stencil . ,ly:accidental-interface::print) (meta . ((class . Item) (interfaces . (item-interface - accidental-interface side-position-interface font-interface)))))) @@ -1739,7 +1810,6 @@ (edge-height . (0.7 . 0.7)) (shorten-pair . (-0.2 . -0.2)) (staff-padding . 0.25) - (direction . ,ly:tuplet-bracket::calc-direction) (positions . ,ly:tuplet-bracket::calc-positions) (connect-to-neighbor . ,ly:tuplet-bracket::calc-connect-to-neighbors) @@ -1753,6 +1823,7 @@ (TupletNumber . ( (stencil . ,ly:tuplet-number::print) + (text . ,tuplet-number::calc-denominator-text) (font-shape . italic) (font-size . -2) (avoid-slur . inside) @@ -1848,7 +1919,7 @@ . ( (style . line) (gap . 0.5) - (breakable . #t) + (non-musical . #t) (X-extent . #f) (Y-extent . #f) (stencil . ,ly:line-spanner::print) @@ -1908,3 +1979,71 @@ (set! all-grob-descriptions (sort all-grob-descriptions alist