X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-grobs.scm;h=15d0b0d9086f2a7c02d99c8c36d21db634c21808;hb=1c122290caffd067b81c60a18c97e61d1c6b209e;hp=259a4be74f9acb65dcf27adece1126f422663c11;hpb=8a0ef68d21d84ea8a99075d0e12c5488010f5146;p=lilypond.git diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index 259a4be74f..15d0b0d908 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -1,9 +1,20 @@ -;;;; define-grobs.scm -- +;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; source file of the GNU LilyPond music typesetter -;;;; -;;;; (c) 1998--2009 Han-Wen Nienhuys +;;;; Copyright (C) 1998--2010 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen +;;;; +;;;; LilyPond is free software: you can redistribute it and/or modify +;;;; it under the terms of the GNU General Public License as published by +;;;; the Free Software Foundation, either version 3 of the License, or +;;;; (at your option) any later version. +;;;; +;;;; LilyPond is distributed in the hope that it will be useful, +;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;;; GNU General Public License for more details. +;;;; +;;;; You should have received a copy of the GNU General Public License +;;;; along with LilyPond. If not, see . ;;;; distances are given in line-thickness (thicknesses) and ;;;; staff-space (distances) @@ -100,6 +111,10 @@ (X-extent . ,ly:axis-group-interface::width) (Y-extent . ,ly:axis-group-interface::height) (meta . ((class . Item) + (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs) + (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items) + (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners))) (interfaces . (ambitus-interface axis-group-interface break-aligned-interface)))))) @@ -107,7 +122,6 @@ (AmbitusAccidental . ( (direction . ,LEFT) - (font-family . music) (glyph-name-alist . ,standard-alteration-glyph-name-alist) (padding . 0.5) (side-axis . ,X) @@ -122,14 +136,13 @@ (AmbitusLine . ( - (join-heads . #t) - (stencil . ,ly:ambitus::print) + (gap . 0.35) + (stencil . ,ambitus::print) (thickness . 2) (X-offset . ,ly:self-alignment-interface::centered-on-x-parent) (meta . ((class . Item) (interfaces . (ambitus-interface - font-interface - staff-symbol-referencer-interface)))))) + font-interface)))))) (AmbitusNoteHead . ( @@ -156,7 +169,6 @@ (stencil . ,ly:arpeggio::print) (X-extent . ,ly:arpeggio::width) (X-offset . ,ly:side-position-interface::x-aligned-side) - (Y-extent . ,ly:arpeggio::height) (Y-offset . ,ly:staff-symbol-referencer::callback) (meta . ((class . Item) (interfaces . (arpeggio-interface @@ -216,6 +228,7 @@ (BarNumber . ( + (after-line-breaking . ,ly:side-position-interface::move-to-extremal-staff) ;; want the bar number before the clef at line start. (break-align-symbols . (left-edge staff-bar)) @@ -257,11 +270,14 @@ . ( (axes . (,Y)) (padding . 0.2) - (positioning-done . ,ly:align-interface::calc-positioning-done) + (positioning-done . ,ly:align-interface::align-to-minimum-distances) (stacking-dir . ,DOWN) - (threshold . (2 . 1000)) (Y-extent . ,ly:axis-group-interface::height) (meta . ((class . Spanner) + (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs) + (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items) + (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners))) (interfaces . (align-interface axis-group-interface bass-figure-alignment-interface)))))) @@ -276,6 +292,10 @@ (Y-extent . ,ly:axis-group-interface::height) (Y-offset . ,ly:side-position-interface::y-aligned-side) (meta . ((class . Spanner) + (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs) + (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items) + (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners))) (interfaces . (axis-group-interface side-position-interface)))))) @@ -301,6 +321,10 @@ (vertical-skylines . ,ly:axis-group-interface::calc-skylines) (Y-extent . ,ly:axis-group-interface::height) (meta . ((class . Spanner) + (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs) + (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items) + (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners))) (interfaces . (axis-group-interface)))))) @@ -310,6 +334,7 @@ ;; rather long. (auto-knee-gap . 5.5) + (beam-thickness . 0.48) ; in staff-space ;; We have some unreferenced problems here. ;; @@ -367,9 +392,6 @@ (shorten . ,ly:beam::calc-stem-shorten) (stencil . ,ly:beam::print) - ;; TODO: should be in SLT. - (thickness . 0.48) ; in staff-space - (meta . ((class . Spanner) (object-callbacks . ((normal-stems . ,ly:beam::calc-normal-stems))) (interfaces . (beam-interface @@ -484,7 +506,6 @@ (break-align-anchor . ,ly:break-aligned-interface::calc-extent-aligned-anchor) (break-align-symbol . clef) (break-visibility . ,begin-of-line-visible) - (font-family . music) (glyph-name . ,ly:clef::calc-glyph-name) (non-musical . #t) (space-alist . ((ambitus . (extra-space . 2.0)) @@ -496,6 +517,7 @@ (next-note . (extra-space . 0.5)) (right-edge . (extra-space . 0.5)))) (stencil . ,ly:clef::print) + (extra-spacing-height . (-0.5 . 0.5)) (Y-offset . ,ly:staff-symbol-referencer::callback) (meta . ((class . Item) (interfaces . (break-aligned-interface @@ -528,6 +550,7 @@ (direction . ,UP) (extra-spacing-width . (+inf.0 . -inf.0)) (font-series . bold) + (outside-staff-priority . 450) (padding . 0.5) (script-priority . 200) (side-axis . ,Y) @@ -575,6 +598,7 @@ (dot-count . ,dots::calc-dot-count) (staff-position . ,dots::calc-staff-position) (stencil . ,ly:dots::print) + (extra-spacing-height . (-0.5 . 0.5)) (meta . ((class . Item) (interfaces . (dots-interface font-interface @@ -601,7 +625,7 @@ (DoublePercentRepeatCounter . ( (direction . ,UP) - (font-encoding . fetaNumber) + (font-encoding . fetaText) (font-size . -2) (padding . 0.2) (self-alignment-X . ,CENTER) @@ -638,6 +662,10 @@ (Y-extent . ,ly:axis-group-interface::height) (Y-offset . ,ly:side-position-interface::y-aligned-side) (meta . ((class . Spanner) + (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs) + (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items) + (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners))) (interfaces . (axis-group-interface dynamic-interface dynamic-line-spanner-interface @@ -650,11 +678,12 @@ (direction . ,ly:script-interface::calc-direction) (extra-spacing-width . (+inf.0 . -inf.0)) - (font-encoding . fetaDynamic) + (font-encoding . fetaText) (font-series . bold) (font-shape . italic) (outside-staff-priority . 250) (positioning-done . ,ly:script-interface::calc-positioning-done) + (right-padding . 0.5) (self-alignment-X . ,CENTER) (self-alignment-Y . ,CENTER) (stencil . ,ly:text-interface::print) @@ -662,6 +691,7 @@ (Y-offset . ,ly:self-alignment-interface::y-aligned-on-self) (meta . ((class . Item) (interfaces . (dynamic-interface + dynamic-text-interface font-interface script-interface self-alignment-interface @@ -669,6 +699,7 @@ (DynamicTextSpanner . ( + (before-line-breaking . ,dynamic-text-spanner::before-line-breaking) (bound-details . ((right . ((attach-dir . ,LEFT) (Y . 0) (padding . 0.75) @@ -679,8 +710,8 @@ (left . ((attach-dir . ,LEFT) (Y . 0) - (stencil-offset . (0 . -0.5)) - (padding . 0.5) + (stencil-offset . (-0.75 . -0.5)) + (padding . 0.75) )) (left-broken . ((attach-dir . ,RIGHT) )) @@ -713,6 +744,33 @@ text-interface)))))) + (Episema + . ( + (bound-details . ((left . ((Y . 0) + (padding . 0) + (attach-dir . ,LEFT) + )) + (right . ((Y . 0) + (padding . 0) + (attach-dir . ,RIGHT) + )) + )) + (direction . ,UP) + (left-bound-info . ,ly:line-spanner::calc-left-bound-info) + (quantize-position . #t) + (right-bound-info . ,ly:line-spanner::calc-right-bound-info) + (side-axis . ,Y) + (stencil . ,ly:line-spanner::print) + (style . line) + (Y-offset . ,ly:side-position-interface::y-aligned-side) + (meta . ((class . Spanner) + (interfaces . (episema-interface + font-interface + line-interface + line-spanner-interface + side-position-interface)))))) + + (Fingering . ( @@ -721,7 +779,7 @@ (avoid-slur . around) (cross-staff . ,ly:side-position-interface::calc-cross-staff) (direction . ,ly:script-interface::calc-direction) - (font-encoding . fetaNumber) + (font-encoding . fetaText) (font-size . -5) ; don't overlap when next to heads. (padding . 0.5) (positioning-done . ,ly:script-interface::calc-positioning-done) @@ -822,7 +880,6 @@ (stencil . ,ly:hairpin::print) (thickness . 1.0) (to-barline . #t) - (Y-extent . ,ly:hairpin::height) (Y-offset . ,ly:self-alignment-interface::y-aligned-on-self) (meta . ((class . Spanner) (interfaces . (dynamic-interface @@ -864,8 +921,9 @@ (padding . 0.3) (self-alignment-X . ,CENTER) (self-alignment-Y . ,CENTER) - (stencil . ,ly:system-start-text::print) - (X-offset . ,ly:side-position-interface::x-aligned-side) + (stencil . ,system-start-text::print) + (X-offset . ,system-start-text::calc-x-offset) + (Y-offset . ,system-start-text::calc-y-offset) (meta . ((class . Spanner) (interfaces . (font-interface self-alignment-interface @@ -941,14 +999,15 @@ (height-limit . 1.0))) (direction . ,ly:tie::calc-direction) (head-direction . ,LEFT) - (stencil . ,ly:tie::print) + (stencil . ,laissez-vibrer::print) (thickness . 1.0) + (extra-spacing-height . (-0.5 . 0.5)) (meta . ((class . Item) (interfaces . (semi-tie-interface)))))) (LaissezVibrerTieColumn . ( - (head-direction . ,LEFT) + (head-direction . ,ly:semi-tie-column::calc-head-direction) (positioning-done . ,ly:semi-tie-column::calc-positioning-done) (X-extent . #f) (Y-extent . #f) @@ -982,7 +1041,7 @@ (clef . (extra-space . 0.8)) (first-note . (fixed-space . 2.0)) (right-edge . (extra-space . 0.0)) - (key-signature . (extra-space . 0.0)) + (key-signature . (extra-space . 0.8)) (key-cancellation . (extra-space . 0.0)) )) (X-extent . (0 . 0)) @@ -1096,6 +1155,7 @@ (MetronomeMark . ( + (after-line-breaking . ,ly:side-position-interface::move-to-extremal-staff) (direction . ,UP) (extra-spacing-width . (+inf.0 . -inf.0)) (outside-staff-priority . 1000) @@ -1114,6 +1174,7 @@ (expand-limit . 10) (hair-thickness . 2.0) (padding . 1) + (spacing-pair . (break-alignment . staff-bar)) (springs-and-rods . ,ly:multi-measure-rest::set-spacing-rods) (staff-position . 0) (stencil . ,ly:multi-measure-rest::print) @@ -1130,7 +1191,7 @@ . ( (bound-padding . 2.0) (direction . ,UP) - (font-encoding . fetaNumber) + (font-encoding . fetaText) (padding . 0.4) (self-alignment-X . ,CENTER) (side-axis . ,Y) @@ -1192,6 +1253,10 @@ (X-extent . ,ly:axis-group-interface::width) (meta . ((class . Paper_column) + (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs) + (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items) + (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners))) (interfaces . (axis-group-interface font-interface paper-column-interface @@ -1206,6 +1271,10 @@ (X-extent . ,ly:axis-group-interface::width) (Y-extent . ,ly:axis-group-interface::height) (meta . ((class . Item) + (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs) + (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items) + (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners))) (interfaces . (axis-group-interface note-collision-interface)))))) @@ -1216,6 +1285,10 @@ (X-extent . ,ly:axis-group-interface::width) (Y-extent . ,ly:axis-group-interface::height) (meta . ((class . Item) + (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs) + (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items) + (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners))) (interfaces . (axis-group-interface note-column-interface separation-item-interface)))))) @@ -1223,6 +1296,7 @@ (NoteHead . ( (duration-log . ,note-head::calc-duration-log) + (extra-spacing-height . ,ly:note-head::include-ledger-line-height) (glyph-name . ,note-head::calc-glyph-name) (stem-attachment . ,ly:note-head::calc-stem-attachment) (stencil . ,ly:note-head::print) @@ -1316,6 +1390,10 @@ ;; debugging ;; (font-size . -6) (font-name . "sans") (Y-extent . #f) (meta . ((class . Paper_column) + (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs) + (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items) + (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners))) (interfaces . (axis-group-interface font-interface paper-column-interface @@ -1337,6 +1415,7 @@ (dot-negative-kern . 0.75) (font-encoding . fetaMusic) (slope . 1.0) + (spacing-pair . (break-alignment . staff-bar)) (springs-and-rods . ,ly:multi-measure-rest::set-spacing-rods) (stencil . ,ly:multi-measure-rest::percent) (thickness . 0.48) @@ -1348,7 +1427,7 @@ (PercentRepeatCounter . ( (direction . ,UP) - (font-encoding . fetaNumber) + (font-encoding . fetaText) (font-size . -2) (padding . 0.2) (self-alignment-X . ,CENTER) @@ -1403,6 +1482,7 @@ (RehearsalMark . ( + (after-line-breaking . ,ly:side-position-interface::move-to-extremal-staff) (baseline-skip . 2) (break-align-symbols . (staff-bar clef)) (break-visibility . ,end-of-line-invisible) @@ -1448,6 +1528,7 @@ (head-direction . ,RIGHT) (stencil . ,ly:tie::print) (thickness . 1.0) + (extra-spacing-height . (-0.5 . 0.5)) (meta . ((class . Item) (interfaces . (semi-tie-interface)))))) @@ -1487,6 +1568,7 @@ (Script . ( + (add-stem-support . #t) (cross-staff . ,ly:script-interface::calc-cross-staff) (direction . ,ly:script-interface::calc-direction) (font-encoding . fetaMusic) @@ -1516,16 +1598,6 @@ (meta . ((class . Item) (interfaces . (script-column-interface)))))) - (SeparationItem - . ( - (avoid-slur . inside) - (horizontal-skylines . ,ly:separation-item::calc-skylines) - (stencil . ,ly:separation-item::print) - (X-extent . ,ly:axis-group-interface::width) - (Y-extent . ,ly:axis-group-interface::height) - (meta . ((class . Item) - (interfaces . (separation-item-interface)))))) - (Slur . ( (avoid-slur . inside) @@ -1572,6 +1644,10 @@ (Y-extent . ,ly:axis-group-interface::height) (Y-offset . ,ly:side-position-interface::y-aligned-side) (meta . ((class . Spanner) + (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs) + (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items) + (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners))) (interfaces . (axis-group-interface piano-pedal-interface side-position-interface)))))) @@ -1613,10 +1689,25 @@ (X-extent . ,ly:span-bar::width) (Y-extent . ,ly:axis-group-interface::height) (meta . ((class . Item) + (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs) + (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items) + (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners))) (interfaces . (bar-line-interface font-interface span-bar-interface)))))) + (StaffGrouper + . ( + (between-staff-spacing . ((space . 9) + (minimum-distance . 7) + (padding . 1))) + (after-last-staff-spacing . ((space . 10.5) + (minimum-distance . 8) + (padding . 1))) + (meta . ((class . Spanner) + (interfaces . (staff-grouper-interface)))))) + (StaffSpacing . ( (non-musical . #t) @@ -1719,7 +1810,7 @@ (StringNumber . ( (avoid-slur . around) - (font-encoding . fetaNumber) + (font-encoding . fetaText) (font-size . -5) ; don't overlap when next to heads. (padding . 0.5) (script-priority . 100) @@ -1784,18 +1875,26 @@ (Y-extent . ,ly:axis-group-interface::height) (Y-offset . ,ly:side-position-interface::y-aligned-side) (meta . ((class . Spanner) + (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs) + (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items) + (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners))) (interfaces . (axis-group-interface piano-pedal-interface side-position-interface)))))) (System . ( + (adjacent-pure-heights . ,ly:axis-group-interface::adjacent-pure-heights) (axes . (,X ,Y)) - (max-stretch . ,ly:axis-group-interface::calc-max-stretch) (vertical-skylines . ,ly:axis-group-interface::calc-skylines) (X-extent . ,ly:axis-group-interface::width) - (Y-extent . ,ly:axis-group-interface::height) + (Y-extent . ,ly:system::height) (meta . ((class . System) + (object-callbacks . ((pure-relevant-grobs . ,ly:system::calc-pure-relevant-grobs) + (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items) + (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners) + (pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common))) (interfaces . (axis-group-interface system-interface)))))) @@ -1861,12 +1960,17 @@ (TabNoteHead . ( + (details . ((tied-properties . ((break-visibility . ,begin-of-line-visible) + (parenthesize . #t))) + (repeat-tied-properties . ((note-head-visible . #t) + (parenthesize . #t))))) (direction . ,CENTER) (duration-log . ,note-head::calc-duration-log) (font-series . bold) (font-size . -2) (stem-attachment . (0.0 . 1.35)) (stencil . ,ly:text-interface::print) + (whiteout . #t) (X-offset . ,ly:self-alignment-interface::x-aligned-on-self) (Y-offset . ,ly:staff-symbol-referencer::callback) (meta . ((class . Item) @@ -1875,6 +1979,7 @@ rhythmic-grob-interface rhythmic-head-interface staff-symbol-referencer-interface + tab-note-head-interface text-interface)))))) (TextScript @@ -1912,6 +2017,7 @@ (padding . 0.25) (attach-dir . ,LEFT) )) + (left-broken . ((end-on-note . #t))) (right . ((Y . 0) (padding . 0.25) )) @@ -2049,17 +2155,11 @@ (TrillSpanner . ( (after-line-breaking . ,ly:spanner::kill-zero-spanned-time) - (bound-details . ((left . ((text . ,(make-translate-scaled-markup - '(0.0 . -1.0) - (make-musicglyph-markup "scripts.trill"))) + (bound-details . ((left . ((text . ,(make-musicglyph-markup "scripts.trill")) (Y . 0) - (stencil-offset . (-0.5 . 0)) - (padding . 1.5) + (stencil-offset . (-0.5 . -1)) + (padding . 0.5) (attach-dir . ,CENTER) - ;; this isn't CENTER because the trill glyph's origin - ;; is not centered in its extent; to have the trill - ;; spanner aligned the same as a trill, we need a slight offset - (anchor-alignment . 0.15) )) (left-broken . ((end-on-note . #t))) (right . ((Y . 0))) @@ -2142,6 +2242,10 @@ (Y-extent . ,ly:axis-group-interface::height) (Y-offset . ,ly:side-position-interface::y-aligned-side) (meta . ((class . Spanner) + (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs) + (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items) + (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners))) (interfaces . (axis-group-interface piano-pedal-interface side-position-interface)))))) @@ -2158,17 +2262,18 @@ (VerticalAlignment . ( - (after-line-breaking . ,ly:align-interface::stretch-after-break) (axes . (,Y)) - (max-stretch . 0) - (padding . 0.5) - (positioning-done . ,ly:align-interface::calc-positioning-done) + (positioning-done . ,ly:align-interface::align-to-ideal-distances) (stacking-dir . -1) (vertical-skylines . ,ly:axis-group-interface::combine-skylines) (X-extent . ,ly:axis-group-interface::width) (Y-extent . ,ly:axis-group-interface::height) (meta . ((class . Spanner) - (object-callbacks . ((Y-common . ,ly:axis-group-interface::calc-y-common))) + (object-callbacks . ((Y-common . ,ly:axis-group-interface::calc-y-common) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs) + (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items) + (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners) + (pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common))) (interfaces . (align-interface axis-group-interface)))))) @@ -2176,14 +2281,24 @@ . ( (adjacent-pure-heights . ,ly:axis-group-interface::adjacent-pure-heights) (axes . (,Y)) - (max-stretch . ,ly:axis-group-interface::calc-max-stretch) + (default-next-staff-spacing . ((space . 9) + (minimum-distance . 8) + (padding . 1))) + (next-staff-spacing . ,ly:axis-group-interface::calc-next-staff-spacing) + (non-affinity-spacing . ((padding . 0.5))) (stencil . ,ly:axis-group-interface::print) (vertical-skylines . ,ly:hara-kiri-group-spanner::calc-skylines) (X-extent . ,ly:axis-group-interface::width) (Y-extent . ,ly:hara-kiri-group-spanner::y-extent) (Y-offset . ,ly:hara-kiri-group-spanner::force-hara-kiri-callback) (meta . ((class . Spanner) - (object-callbacks . ((X-common . ,ly:axis-group-interface::calc-x-common))) + (object-callbacks . ( + (X-common . ,ly:axis-group-interface::calc-x-common) + (pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs) + (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items) + (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners))) + (interfaces . (axis-group-interface hara-kiri-group-spanner-interface vertically-spaceable-interface)))))) @@ -2214,10 +2329,10 @@ . ( (direction . ,UP) (edge-height . (2.0 . 2.0)) ;; staff-space; - (font-encoding . fetaNumber) + (font-encoding . fetaText) (font-size . -4) (stencil . ,ly:volta-bracket-interface::print) - (thickness . 1.6) ;; line-thickness + (thickness . 1.6) ;; line-thickness (word-space . 0.6) (meta . ((class . Spanner) (interfaces . (font-interface @@ -2225,22 +2340,29 @@ line-interface side-position-interface text-interface - volta-bracket-interface)))))) + volta-bracket-interface + volta-interface)))))) (VoltaBracketSpanner . ( + (after-line-breaking . ,ly:side-position-interface::move-to-extremal-staff) (axes . (,Y)) (direction . ,UP) - (no-alignment . ,#t) - (outside-staff-priority . 100) + (no-alignment . #t) + (outside-staff-priority . 600) (padding . 1) (side-axis . ,Y) (X-extent . ,ly:axis-group-interface::width) (Y-extent . ,ly:axis-group-interface::height) (Y-offset . ,ly:side-position-interface::y-aligned-side) (meta . ((class . Spanner) + (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs) + (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items) + (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners))) (interfaces . (axis-group-interface - side-position-interface)))))) + side-position-interface + volta-interface)))))) )) @@ -2251,10 +2373,10 @@ ;; (newline) (let* ((name-sym (car x)) (grob-entry (cdr x)) - (meta-entry (cdr (assoc 'meta grob-entry))) - (class (cdr (assoc 'class meta-entry))) + (meta-entry (assoc-get 'meta grob-entry)) + (class (assoc-get 'class meta-entry)) (ifaces-entry - (cdr (assoc 'interfaces meta-entry)))) + (assoc-get 'interfaces meta-entry))) (cond ((eq? 'Item class) @@ -2294,49 +2416,79 @@ (set! all-grob-descriptions (sort all-grob-descriptions alist