X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-grobs.scm;h=f75e454de048e40daef9b669f49aba08f0ac596a;hb=eeec992b7029d0982bf4ed0eb3995e9ca99c10e9;hp=d3886b699e27e70ccf907a5620989dae394ce05a;hpb=2b695bcbe3d6a5fddd58eb03189d3272112421d9;p=lilypond.git diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index d3886b699e..e32cd6a721 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -2,7 +2,7 @@ ;;;; ;;;; source file of the GNU LilyPond music typesetter ;;;; -;;;; (c) 1998--2007 Han-Wen Nienhuys +;;;; (c) 1998--2008 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen ;;;; distances are given in line-thickness (thicknesses) and @@ -21,29 +21,30 @@ . ( (avoid-slur . inside) (glyph-name-alist . ,standard-alteration-glyph-name-alist) - (alteration . ,accidental-interface::calc-alteration) + (alteration . ,accidental-interface::calc-alteration) (stencil . ,ly:accidental-interface::print) (Y-extent . ,ly:accidental-interface::height) (X-extent . ,ly:accidental-interface::width) (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) + (alteration . ,accidental-interface::calc-alteration) (stencil . ,ly:accidental-interface::print) (Y-extent . ,ly:accidental-interface::height) (meta . ((class . Item) (interfaces . (accidental-interface font-interface)))))) - (AccidentalSuggestion . ( (stencil . ,ly:accidental-interface::print) + (X-extent . ,ly:accidental-interface::width) (Y-extent . ,ly:accidental-interface::height) (X-offset . ,(ly:make-simple-closure `(,+ @@ -60,7 +61,7 @@ (staff-padding . 0.25) (outside-staff-priority . 0) (script-priority . 0) - (side-axis . ,X) + (side-axis . ,Y) (meta . ((class . Item) (interfaces . (side-position-interface script-interface @@ -88,7 +89,7 @@ (Ambitus . ( - (axes . (0 1)) + (axes . (,X ,Y)) (X-extent . ,ly:axis-group-interface::width) (Y-extent . ,ly:axis-group-interface::height) (space-alist . ( @@ -170,7 +171,8 @@ (X-offset . ,(grob::calc-property-by-copy 'X-offset)) (Y-offset . ,(grob::calc-property-by-copy 'Y-offset)) (meta . ((class . Item) - (interfaces . (text-interface + (interfaces . (balloon-interface + text-interface font-interface)))))) (BarLine . ( @@ -230,7 +232,7 @@ ,(ly:make-simple-closure (list ly:self-alignment-interface::x-aligned-on-self))))) - (self-alignment-X . 1) + (self-alignment-X . ,RIGHT) ;; want the bar number before the clef at line start. (break-align-symbols . (left-edge staff-bar)) @@ -240,9 +242,7 @@ text-interface break-alignable-interface self-alignment-interface - font-interface - )))) - )) + font-interface)))))) (BassFigure . ( @@ -259,7 +259,7 @@ (threshold . (2 . 1000)) (positioning-done . ,ly:align-interface::calc-positioning-done) (Y-extent . ,ly:axis-group-interface::height) - (stacking-dir . -1) + (stacking-dir . ,DOWN) (padding . 0.2) (meta . ((class . Spanner) (interfaces . (align-interface @@ -276,8 +276,7 @@ (padding . 0.5) (meta . ((class . Spanner) (interfaces . (side-position-interface - axis-group-interface - )))))) + axis-group-interface)))))) (BassFigureBracket . ( @@ -285,15 +284,15 @@ (X-extent . ,ly:enclosing-bracket::width) (edge-height . (0.2 . 0.2)) (meta . ((class . Item) - (interfaces . (enclosing-bracket-interface)) )) - )) + (interfaces . (enclosing-bracket-interface)))))) + (BassFigureContinuation . ( (stencil . ,ly:figured-bass-continuation::print) (Y-offset . ,ly:figured-bass-continuation::center-on-figures) (meta . ((class . Spanner) - (interfaces . (figured-bass-continuation-interface)) - )))) + (interfaces . (figured-bass-continuation-interface)))))) + (BassFigureLine . ( (axes . (,Y)) @@ -301,8 +300,7 @@ (vertical-skylines . ,ly:axis-group-interface::calc-skylines) (adjacent-pure-heights . ,ly:axis-group-interface::adjacent-pure-heights) (meta . ((class . Spanner) - (interfaces . (axis-group-interface - )))))) + (interfaces . (axis-group-interface)))))) (Beam @@ -359,7 +357,8 @@ (object-callbacks . ((normal-stems . ,ly:beam::calc-normal-stems))) (interfaces . (staff-symbol-referencer-interface unbreakable-spanner-interface - beam-interface)))))) + beam-interface + font-interface)))))) (BendAfter . ( @@ -410,14 +409,14 @@ staff-bar time-signature custos))) - (axes . (0)) + (axes . (,X)) (meta . ((class . Item) (interfaces . (break-alignment-interface axis-group-interface)))))) (BreakAlignGroup . ( - (axes . (0)) + (axes . (,X)) (X-extent . ,ly:axis-group-interface::width) (break-align-anchor . ,ly:break-aligned-interface::calc-average-anchor) (break-visibility . ,ly:break-aligned-interface::calc-break-visibility) @@ -486,6 +485,7 @@ (stencil . ,ly:cluster::print) (minimum-length . 0.0) (padding . 0.25) + (cross-staff . ,ly:cluster::calc-cross-staff) (style . ramp) (meta . ((class . Spanner) (interfaces . (cluster-interface)))))) @@ -501,8 +501,7 @@ (interfaces . (font-interface rhythmic-grob-interface text-interface - chord-name-interface - )))))) + chord-name-interface)))))) (CombineTextScript . ( @@ -517,6 +516,7 @@ ;; todo: add X self alignment? (baseline-skip . 2) (side-axis . ,Y) + (avoid-slur . outside ) (font-series . bold) (meta . ((class . Item) (interfaces . (text-script-interface @@ -537,15 +537,14 @@ (first-note . (minimum-fixed-space . 0.0)) (right-edge . (extra-space . 0.1)))) (meta . ((class . Item) - (interfaces - . (custos-interface - staff-symbol-referencer-interface - font-interface - break-aligned-interface)))))) + (interfaces . (custos-interface + staff-symbol-referencer-interface + font-interface + break-aligned-interface)))))) (DotColumn . ( - (axes . (0)) + (axes . (,X)) (direction . ,RIGHT) (positioning-done . ,ly:dot-column::calc-positioning-done) (X-extent . ,ly:axis-group-interface::width) @@ -568,6 +567,8 @@ (stencil . ,ly:percent-repeat-item-interface::double-percent) (non-musical . #t) (slope . 1.0) + (dot-negative-kern . 0.75) + (slash-negative-kern . 1.6) (font-encoding . fetaMusic) (width . 2.0) (thickness . 0.48) @@ -576,16 +577,21 @@ (meta . ((class . Item) (interfaces . (font-interface break-aligned-interface + percent-repeat-interface percent-repeat-item-interface)))))) (DoublePercentRepeatCounter . ( (stencil . ,ly:text-interface::print) - (X-offset . ,(ly:make-simple-closure `(,+ ,(ly:make-simple-closure (list ly:self-alignment-interface::centered-on-y-parent)) - ,(ly:make-simple-closure (list ly:self-alignment-interface::x-aligned-on-self))))) + (X-offset . ,(ly:make-simple-closure + `(,+ + ,(ly:make-simple-closure + (list ly:self-alignment-interface::centered-on-y-parent)) + ,(ly:make-simple-closure + (list ly:self-alignment-interface::x-aligned-on-self))))) (Y-offset . ,ly:side-position-interface::y-aligned-side) (font-encoding . fetaNumber) - (self-alignment-X . 0) + (self-alignment-X . ,CENTER) (font-size . -2) (direction . ,UP) (padding . 0.2) @@ -595,11 +601,13 @@ (interfaces . (side-position-interface self-alignment-interface percent-repeat-item-interface + percent-repeat-interface font-interface text-interface)))))) + (DynamicLineSpanner . ( - (axes . (1)) + (axes . (,Y)) (Y-offset . ,ly:side-position-interface::y-aligned-side) (staff-padding . 0.1) (padding . 0.6) @@ -627,9 +635,9 @@ (positioning-done . ,ly:script-interface::calc-positioning-done) (X-offset . ,ly:self-alignment-interface::x-aligned-on-self) - (self-alignment-X . 0) + (self-alignment-X . ,CENTER) (Y-offset . ,ly:self-alignment-interface::y-aligned-on-self) - (self-alignment-Y . 0) + (self-alignment-Y . ,CENTER) (font-series . bold) (font-encoding . fetaDynamic) (font-shape . italic) @@ -694,12 +702,13 @@ (avoid-slur . around) (slur-padding . 0.2) (staff-padding . 0.5) - (self-alignment-X . 0) - (self-alignment-Y . 0) + (self-alignment-X . ,CENTER) + (self-alignment-Y . ,CENTER) (script-priority . 100) (stencil . ,ly:text-interface::print) (direction . ,ly:script-interface::calc-direction) (positioning-done . ,ly:script-interface::calc-positioning-done) + (cross-staff . ,ly:side-position-interface::calc-cross-staff) (text . ,fingering::calc-text) (font-encoding . fetaNumber) @@ -710,16 +719,16 @@ text-script-interface text-interface side-position-interface - self-alignment-interface - )))))) + self-alignment-interface)))))) + (FretBoard . ((stencil . ,fret-board::calc-stencil) - (finger-code . below-string) + (fret-diagram-details . ((finger-code . below-string))) (meta . ((class . Item) (interfaces . (fret-diagram-interface - font-interface - )))) - )) + font-interface)))))) + + (Glissando . ( (style . line) @@ -749,9 +758,9 @@ (shortest-duration-space . 1.6) (meta . ((class . Spanner) (interfaces . (grace-spacing-interface - spacing-options-interface spanner-interface)))))) + (GridPoint . ( (X-extent . (0 . 0)) @@ -765,15 +774,17 @@ (stencil . ,ly:grid-line-interface::print) (self-alignment-X . ,CENTER) (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))))) + `(,+ + ,(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))))) (layer . 0) (meta . ((class . Item) (interfaces . (self-alignment-interface grid-line-interface)))))) + (Hairpin . ( (stencil . ,ly:hairpin::print) @@ -781,11 +792,12 @@ (after-line-breaking . ,ly:hairpin::after-line-breaking) (grow-direction . ,hairpin::calc-grow-direction) (circled-tip . #f) + (to-barline . #t) (thickness . 1.0) (height . 0.6666) (minimum-length . 2.0) (bound-padding . 1.0) - (self-alignment-Y . 0) + (self-alignment-Y . ,CENTER) (Y-offset . ,ly:self-alignment-interface::y-aligned-on-self) (meta . ((class . Spanner) (interfaces . (hairpin-interface @@ -811,6 +823,8 @@ side-position-interface line-interface spanner-interface)))))) + + (InstrumentName . ( (padding . 0.3) @@ -818,23 +832,31 @@ (X-offset . ,ly:side-position-interface::x-aligned-side) (direction . ,LEFT) (self-alignment-Y . ,CENTER) + (self-alignment-X . ,CENTER) (meta . ((class . Spanner) (interfaces . (system-start-text-interface side-position-interface + self-alignment-interface font-interface)))))) (InstrumentSwitch . ( - (padding . 0.3) + (padding . 0.5) (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) + (staff-padding . 0.5) (direction . ,UP) - (self-alignment-X . ,CENTER) + (side-axis . ,Y) + (self-alignment-X . ,LEFT) + (outside-staff-priority . 500) + (extra-spacing-width . (+inf.0 . -inf.0)) (meta . ((class . Item) (interfaces . (side-position-interface + self-alignment-interface + text-interface font-interface)))))) + (KeyCancellation . ( @@ -853,8 +875,10 @@ (meta . ((class . Item) (interfaces . (key-cancellation-interface key-signature-interface + staff-symbol-referencer-interface font-interface break-aligned-interface)))))) + (KeySignature . ( (stencil . ,ly:key-signature-interface::print) @@ -872,6 +896,7 @@ (non-musical . #t) (meta . ((class . Item) (interfaces . (key-signature-interface + staff-symbol-referencer-interface font-interface break-aligned-interface)))))) @@ -886,9 +911,7 @@ (head-direction . ,LEFT) (thickness . 1.0) (meta . ((class . Item) - (interfaces . (semi-tie-interface)) - )) - )) + (interfaces . (semi-tie-interface)))))) (LaissezVibrerTieColumn . ( @@ -897,9 +920,7 @@ (head-direction . ,LEFT) (positioning-done . ,ly:semi-tie-column::calc-positioning-done) (meta . ((class . Item) - (interfaces . (semi-tie-column-interface)) - )) - )) + (interfaces . (semi-tie-column-interface)))))) (LedgerLineSpanner . ( @@ -954,7 +975,6 @@ (interfaces . (line-interface tuplet-bracket-interface)))))) - (LyricExtender . ( (stencil . ,ly:lyric-extender::print) @@ -991,16 +1011,14 @@ (X-extent . #f) (meta . ((class . Spanner) (interfaces . (spanner-interface - lyric-hyphen-interface )) - )) - )) + lyric-hyphen-interface)))))) (LyricText . ( (stencil . ,lyric-text::print) (text . ,(grob::calc-property-by-copy 'text)) (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent) - (self-alignment-X . 0) + (self-alignment-X . ,CENTER) (word-space . 0.6) (font-series . bold-narrow) (font-size . 1.0) @@ -1031,7 +1049,8 @@ . ( (neutral-direction . ,DOWN) (meta . ((class . Item) - (interfaces . (melody-spanner-interface )))))) + (interfaces . (melody-spanner-interface)))))) + (MensuralLigature . ( (thickness . 1.4) @@ -1048,6 +1067,7 @@ (direction . ,UP) (padding . 0.8) (side-axis . ,Y) + (extra-spacing-width . (+inf.0 . -inf.0)) (outside-staff-priority . 1000) (meta . ((class . Item) (interfaces . (text-interface @@ -1055,7 +1075,6 @@ font-interface metronome-mark-interface)))))) - (MultiMeasureRest . ( (stencil . ,ly:multi-measure-rest::print) @@ -1073,18 +1092,20 @@ font-interface staff-symbol-referencer-interface)))))) - (MultiMeasureRestNumber . ( (bound-padding . 2.0) (springs-and-rods . ,ly:multi-measure-rest::set-text-rods) (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::x-centered-on-y-parent))))) + `(,+ + ,(ly:make-simple-closure + (list ly:self-alignment-interface::x-aligned-on-self)) + ,(ly:make-simple-closure + (list ly:self-alignment-interface::x-centered-on-y-parent))))) (Y-offset . ,ly:side-position-interface::y-aligned-side) (side-axis . ,Y) - (self-alignment-X . 0) + (self-alignment-X . ,CENTER) (direction . ,UP) (padding . 0.4) (staff-padding . 0.4) @@ -1094,18 +1115,19 @@ multi-measure-interface self-alignment-interface font-interface - text-interface)))) - )) + text-interface)))))) (MultiMeasureRestText . ( (stencil . ,ly:text-interface::print) (X-offset . ,(ly:make-simple-closure - `(,+ ,(ly:make-simple-closure (list ly:self-alignment-interface::x-centered-on-y-parent)) - ,(ly:make-simple-closure (list ly:self-alignment-interface::x-aligned-on-self))))) - + `(,+ + ,(ly:make-simple-closure + (list ly:self-alignment-interface::x-centered-on-y-parent)) + ,(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) + (self-alignment-X . ,CENTER) (direction . ,UP) (padding . 0.2) (staff-padding . 0.25) @@ -1117,10 +1139,11 @@ font-interface text-interface)))))) + (NonMusicalPaperColumn . ( (allow-loose-spacing . #t) - (axes . (0)) + (axes . (,X)) (before-line-breaking . ,ly:paper-column::before-line-breaking) (X-extent . ,ly:axis-group-interface::width) (horizontal-skylines . ,ly:separation-item::calc-skylines) @@ -1137,13 +1160,15 @@ (interfaces . (paper-column-interface axis-group-interface separation-item-interface - spaceable-grob-interface)))))) - + spaceable-grob-interface + font-interface)))))) + (NoteCollision . ( - (axes . (0 1)) + (axes . (,X ,Y)) (X-extent . ,ly:axis-group-interface::width) (Y-extent . ,ly:axis-group-interface::height) + (prefer-dotted-right . #t) (positioning-done . ,ly:note-collision-interface::calc-positioning-done) (meta . ((class . Item) (interfaces . (note-collision-interface @@ -1151,7 +1176,7 @@ (NoteColumn . ( - (axes . (0 1)) + (axes . (,X ,Y)) (X-extent . ,ly:axis-group-interface::width) (Y-extent . ,ly:axis-group-interface::height) (horizontal-skylines . ,ly:separation-item::calc-skylines) @@ -1165,7 +1190,7 @@ (stencil . ,ly:note-head::print) (duration-log . ,note-head::calc-duration-log) (stem-attachment . ,ly:note-head::calc-stem-attachment) - (glyph-name . ,note-head::calc-glyph-name) + (glyph-name . ,note-head::calc-glyph-name) (Y-offset . ,ly:staff-symbol-referencer::callback) (X-offset . ,ly:note-head::stem-x-shift) (meta . ((class . Item) @@ -1174,7 +1199,10 @@ font-interface note-head-interface ledgered-interface - staff-symbol-referencer-interface)))))) + staff-symbol-referencer-interface + gregorian-ligature-interface + mensural-ligature-interface + vaticana-ligature-interface)))))) (NoteSpacing . ( @@ -1196,14 +1224,17 @@ text-interface font-interface)))))) + (OctavateEight . ( - (self-alignment-X . 0) + (self-alignment-X . ,CENTER) (break-visibility . ,begin-of-line-visible) (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))))) - + `(,+ + ,(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 . ,ly:side-position-interface::y-aligned-side) (stencil . ,ly:text-interface::print) (font-shape . italic) @@ -1224,6 +1255,7 @@ (staff-padding . 1.0) (padding . 0.5) (minimum-length . 1.0) + (style . dashed-line) (dash-fraction . 0.3) (edge-height . (0 . 1.2)) (direction . ,UP) @@ -1236,9 +1268,10 @@ font-interface text-interface)))))) + (PaperColumn . ( - (axes . (0)) + (axes . (,X)) (allow-loose-spacing . #t) (before-line-breaking . ,ly:paper-column::before-line-breaking) (horizontal-skylines . ,ly:separation-item::calc-skylines) @@ -1251,7 +1284,8 @@ (interfaces . (paper-column-interface separation-item-interface axis-group-interface - spaceable-grob-interface)))))) + spaceable-grob-interface + font-interface)))))) (ParenthesesItem . ((stencil . ,parentheses-item::print) @@ -1259,16 +1293,14 @@ (font-size . -6) (padding . 0.2) (meta . ((class . Item) - (interfaces . (parentheses-interface font-interface)))) - )) + (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)))) - )) + (interfaces . (parentheses-interface font-interface)))))) (PhrasingSlur . ((details . ,default-slur-details) @@ -1285,27 +1317,30 @@ (meta . ((class . Spanner) (interfaces . (slur-interface)))))) - - (PercentRepeat . ( (springs-and-rods . ,ly:multi-measure-rest::set-spacing-rods) (stencil . ,ly:multi-measure-rest::percent) (slope . 1.0) (thickness . 0.48) + (dot-negative-kern . 0.75) (font-encoding . fetaMusic) (meta . ((class . Spanner) (interfaces . (multi-measure-rest-interface font-interface - percent-repeat-item-interface)))))) + percent-repeat-interface)))))) + (PercentRepeatCounter . ( (stencil . ,ly:text-interface::print) (X-offset . ,(ly:make-simple-closure - `(,+ ,(ly:make-simple-closure (list ly:self-alignment-interface::x-centered-on-y-parent)) - ,(ly:make-simple-closure (list ly:self-alignment-interface::x-aligned-on-self))))) + `(,+ + ,(ly:make-simple-closure + (list ly:self-alignment-interface::x-centered-on-y-parent)) + ,(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) + (self-alignment-X . ,CENTER) (direction . ,UP) (padding . 0.2) (staff-padding . 0.25) @@ -1314,7 +1349,7 @@ (meta . ((class . Spanner) (interfaces . (side-position-interface self-alignment-interface - percent-repeat-item-interface + percent-repeat-interface font-interface text-interface)))))) @@ -1334,6 +1369,7 @@ piano-pedal-interface piano-pedal-bracket-interface)))))) + (RehearsalMark . ( (stencil . ,ly:text-interface::print) @@ -1343,10 +1379,9 @@ (list ly:break-alignable-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) (extra-spacing-width . (+inf.0 . -inf.0)) - (self-alignment-X . 0) + (self-alignment-X . ,CENTER) (direction . ,UP) (non-musical . #t) (font-size . 2) @@ -1370,6 +1405,7 @@ (slope . 1.7) (meta . ((class . Item) (interfaces . (rhythmic-grob-interface + percent-repeat-interface percent-repeat-item-interface)))))) (RepeatTie @@ -1382,9 +1418,7 @@ (thickness . 1.0) (head-direction . ,RIGHT) (meta . ((class . Item) - (interfaces . (semi-tie-interface)) - )) - )) + (interfaces . (semi-tie-interface)))))) (RepeatTieColumn . ( @@ -1395,9 +1429,7 @@ (positioning-done . ,ly:semi-tie-column::calc-positioning-done) (meta . ((class . Item) - (interfaces . (semi-tie-column-interface)) - )) - )) + (interfaces . (semi-tie-column-interface)))))) (Rest . ( @@ -1407,6 +1439,7 @@ (Y-extent . ,ly:rest::height) (Y-offset . ,ly:rest::y-offset-callback) (minimum-distance . 0.25) + (cross-staff . ,ly:rest::calc-cross-staff) (meta . ((class . Item) (interfaces . (font-interface rhythmic-head-interface @@ -1421,6 +1454,7 @@ (meta . ((class . Item) (interfaces . (rest-collision-interface)))))) + (Script . ( ;; don't set direction here: it breaks staccato. @@ -1446,6 +1480,7 @@ (before-line-breaking . ,ly:script-column::before-line-breaking) (meta . ((class . Item) (interfaces . (script-column-interface)))))) + (ScriptRow . ( (before-line-breaking . ,ly:script-column::row-before-line-breaking) @@ -1460,11 +1495,11 @@ (horizontal-skylines . ,ly:separation-item::calc-skylines) (stencil . ,ly:separation-item::print) (meta . ((class . Item) - (interfaces . ( - separation-item-interface)))))) + (interfaces . (separation-item-interface)))))) (Slur - . ((details . ,default-slur-details) + . ( + (details . ,default-slur-details) (control-points . ,ly:slur::calc-control-points) (direction . ,ly:slur::calc-direction) (springs-and-rods . ,ly:spanner::set-spacing-rods) @@ -1488,7 +1523,7 @@ (extra-spacing-width . (+inf.0 . -inf.0)) (padding . 0.0) ;; padding relative to SostenutoPedalLineSpanner (font-shape . italic) - (self-alignment-X . 0) + (self-alignment-X . ,CENTER) (meta . ((class . Item) (interfaces . (text-interface self-alignment-interface @@ -1497,9 +1532,11 @@ (SostenutoPedalLineSpanner . ( - (axes . (1)) + (axes . (,Y)) (Y-extent . ,ly:axis-group-interface::height) + (X-extent . ,ly:axis-group-interface::width) (Y-offset . ,ly:side-position-interface::y-aligned-side) + (outside-staff-priority . 1000) (side-axis . ,Y) (staff-padding . 1.0) (padding . 1.2) @@ -1509,6 +1546,7 @@ (interfaces . (piano-pedal-interface axis-group-interface side-position-interface)))))) + (SpacingSpanner . ( (springs-and-rods . ,ly:spacing-spanner::set-springs) @@ -1519,14 +1557,14 @@ (base-shortest-duration . ,(ly:make-moment 3 16)) (meta . ((class . Spanner) - (interfaces . ( - spacing-options-interface + (interfaces . (spacing-options-interface spacing-spanner-interface)))))) (SpanBar . ( (break-align-symbol . staff-bar) (Y-extent . ,ly:axis-group-interface::height) + (cross-staff . #t) (layer . 0) (non-musical . #t) (stencil . ,ly:span-bar::print) @@ -1565,7 +1603,6 @@ text-interface font-interface)))))) - (StaffSpacing . ( (non-musical . #t) @@ -1573,7 +1610,6 @@ (meta . ((class . Item) (interfaces . (spacing-interface staff-spacing-interface)))))) - (StaffSymbol . ( @@ -1601,11 +1637,14 @@ (length . ,ly:stem::calc-length) (thickness . 1.3) (cross-staff . ,ly:stem::calc-cross-staff) + (flag . ,ly:stem::calc-flag) + (beamlet-default-length . (1.0 . 1.0)) + (beamlet-max-length-proportion . (0.5 . 0.5)) (details . ( ;; 3.5 (or 3 measured from note head) is standard length - ;; 32nd, 64th flagged stems should be longer - (lengths . (3.5 3.5 3.5 4.5 5.0)) + ;; 32nd, 64th, 128th flagged stems should be longer + (lengths . (3.5 3.5 3.5 4.5 5.0 6.0)) ;; FIXME. 3.5 yields too long beams (according to Ross and ;; looking at Baerenreiter examples) for a number of common @@ -1656,9 +1695,10 @@ (text . ,string-number::calc-text) (padding . 0.5) (staff-padding . 0.5) - (self-alignment-X . 0) - (self-alignment-Y . 0) + (self-alignment-X . ,CENTER) + (self-alignment-Y . ,CENTER) (script-priority . 100) + (avoid-slur . around) (font-encoding . fetaNumber) (font-size . -5) ; don't overlap when next to heads. (meta . ((class . Item) @@ -1667,8 +1707,7 @@ text-script-interface text-interface side-position-interface - self-alignment-interface - )))))) + self-alignment-interface)))))) (StrokeFinger . ( @@ -1677,8 +1716,8 @@ (digit-names . #("p" "i" "m" "a" "x")) (padding . 0.5) (staff-padding . 0.5) - (self-alignment-X . 0) - (self-alignment-Y . 0) + (self-alignment-X . ,CENTER) + (self-alignment-Y . ,CENTER) (script-priority . 100) (font-shape . italic) (font-size . -4) ; don't overlap when next to heads. @@ -1688,15 +1727,13 @@ text-script-interface text-interface side-position-interface - self-alignment-interface - )))))) - + self-alignment-interface)))))) (SustainPedal . ( (extra-spacing-width . (+inf.0 . -inf.0)) (stencil . ,ly:sustain-pedal::print) - (self-alignment-X . 0) + (self-alignment-X . ,CENTER) (direction . ,RIGHT) (padding . 0.0) ;; padding relative to SustainPedalLineSpanner (X-offset . ,ly:self-alignment-interface::x-aligned-on-self) @@ -1709,9 +1746,11 @@ (SustainPedalLineSpanner . ( - (axes . (1)) + (axes . (,Y)) (Y-extent . ,ly:axis-group-interface::height) + (X-extent . ,ly:axis-group-interface::width) (Y-offset . ,ly:side-position-interface::y-aligned-side) + (outside-staff-priority . 1000) (side-axis . ,Y) (padding . 1.2) (staff-padding . 1.2) @@ -1724,7 +1763,7 @@ (System . ( - (axes . (0 1)) + (axes . (,X ,Y)) (X-extent . ,ly:axis-group-interface::width) (Y-extent . ,ly:axis-group-interface::height) (vertical-skylines . ,ly:axis-group-interface::calc-skylines) @@ -1748,7 +1787,6 @@ side-position-interface font-interface)))))) - (SystemStartSquare . ( (Y-extent . #f) @@ -1761,6 +1799,7 @@ (interfaces . (font-interface side-position-interface system-start-delimiter-interface)))))) + (SystemStartBracket . ( (Y-extent . #f) @@ -1792,22 +1831,24 @@ (interfaces . (side-position-interface system-start-delimiter-interface)))))) + (TabNoteHead . ( (stencil . ,ly:text-interface::print) + (duration-log . ,note-head::calc-duration-log) (Y-offset . ,ly:staff-symbol-referencer::callback) (X-offset . ,ly:self-alignment-interface::x-aligned-on-self) - (direction . 0) + (direction . ,CENTER) (font-size . -2) (stem-attachment . (0.0 . 1.35)) (font-series . bold) (meta . ((class . Item) - (interfaces - . (rhythmic-head-interface - font-interface rhythmic-grob-interface - note-head-interface - staff-symbol-referencer-interface - text-interface)))))) + (interfaces . (rhythmic-head-interface + font-interface + rhythmic-grob-interface + note-head-interface + staff-symbol-referencer-interface + text-interface)))))) (TextScript . ( @@ -1834,7 +1875,9 @@ (meta . ((class . Item) (interfaces . (text-script-interface text-interface + instrument-specific-markup-interface side-position-interface + self-alignment-interface font-interface)))))) (TextSpanner @@ -1857,12 +1900,13 @@ )) (right . ((Y . 0) (padding . 0.25) - )) + )) )) (stencil . ,ly:line-spanner::print) (meta . ((class . Spanner) (interfaces . (line-spanner-interface + line-interface side-position-interface font-interface)))))) @@ -1872,6 +1916,7 @@ (springs-and-rods . ,ly:spanner::set-spacing-rods) (avoid-slur . inside) (direction . ,ly:tie::calc-direction) + (neutral-direction . ,UP) (stencil . ,ly:tie::print) (font-size . -6) (details . ( @@ -1892,15 +1937,14 @@ (outer-tie-length-symmetry-penalty-factor . 10) (vertical-distance-penalty-factor . 7) (outer-tie-vertical-gap . 0.25) - (multi-tie-region-size . 1) + (multi-tie-region-size . 3) (single-tie-region-size . 4) (between-length-limit . 1.0))) (thickness . 1.2) (line-thickness . 0.8) (meta . ((class . Spanner) - (interfaces . (tie-interface)))) - )) + (interfaces . (tie-interface)))))) (TieColumn . ( @@ -1919,6 +1963,7 @@ . ,ly:break-aligned-interface::calc-extent-aligned-anchor) (break-visibility . ,all-visible) (avoid-slur . inside) + (extra-spacing-height . (-1.0 . 1.0)) (space-alist . ( (first-note . (fixed-space . 2.0)) (right-edge . (extra-space . 0.5)) @@ -1941,7 +1986,11 @@ (Y . 0) (stencil-offset . (-0.5 . 0)) (padding . 1.5) - (attach-dir . ,LEFT) + (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))) @@ -1991,7 +2040,6 @@ (interfaces . (side-position-interface parentheses-interface note-head-interface - rhythmic-head-interface font-interface axis-group-interface)))))) @@ -2015,6 +2063,7 @@ (edge-height . (0.7 . 0.7)) (shorten-pair . (-0.2 . -0.2)) (staff-padding . 0.25) + (full-length-to-extent . #t) (direction . ,ly:tuplet-bracket::calc-direction) (positions . ,ly:tuplet-bracket::calc-positions) (connect-to-neighbor . ,ly:tuplet-bracket::calc-connect-to-neighbors) @@ -2037,13 +2086,14 @@ (meta . ((class . Spanner) (interfaces . (text-interface tuplet-number-interface font-interface)))))) + (UnaCordaPedal . ( (stencil . ,ly:text-interface::print) (font-shape . italic) (extra-spacing-width . (+inf.0 . -inf.0)) - (self-alignment-X . 0) + (self-alignment-X . ,CENTER) (direction . ,RIGHT) (padding . 0.0) ;; padding relative to UnaCordaPedalLineSpanner (X-offset . ,ly:self-alignment-interface::x-aligned-on-self) @@ -2055,9 +2105,11 @@ (UnaCordaPedalLineSpanner . ( - (axes . (1)) + (axes . (,Y)) (Y-extent . ,ly:axis-group-interface::height) + (X-extent . ,ly:axis-group-interface::width) (Y-offset . ,ly:side-position-interface::y-aligned-side) + (outside-staff-priority . 1000) (side-axis . ,Y) (padding . 1.2) (staff-padding . 1.2) @@ -2068,6 +2120,7 @@ axis-group-interface side-position-interface)))))) + (VaticanaLigature . ( (thickness . 0.6) @@ -2079,7 +2132,7 @@ (VerticalAlignment . ( - (axes . (1)) + (axes . (,Y)) (positioning-done . ,ly:align-interface::calc-positioning-done) (after-line-breaking . ,ly:align-interface::stretch-after-break) (Y-extent . ,ly:axis-group-interface::height) @@ -2092,9 +2145,10 @@ (object-callbacks . ((Y-common . ,ly:axis-group-interface::calc-y-common))) (interfaces . (align-interface axis-group-interface)))))) + (VerticalAxisGroup . ( - (axes . (1)) + (axes . (,Y)) (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) @@ -2108,7 +2162,6 @@ hara-kiri-group-spanner-interface vertically-spaceable-interface)))))) - (VoltaBracket . ( (stencil . ,ly:volta-bracket-interface::print) @@ -2116,6 +2169,7 @@ (thickness . 1.6) ;; line-thickness (edge-height . (2.0 . 2.0)) ;; staff-space; (font-size . -4) + (word-space . 0.6) (direction . ,UP) (meta . ((class . Spanner) (interfaces . (volta-bracket-interface @@ -2123,12 +2177,11 @@ line-interface text-interface side-position-interface - font-interface))) - ))) + font-interface)))))) (VoltaBracketSpanner . ( - (axes . (1)) + (axes . (,Y)) (side-axis . ,Y) (direction . ,UP) (padding . 1) @@ -2139,8 +2192,7 @@ (no-alignment . ,#t) (meta . ((class . Spanner) (interfaces . (side-position-interface - axis-group-interface))) - ))) + axis-group-interface)))))) (VoiceFollower . ( @@ -2161,8 +2213,7 @@ (right-bound-info . ,ly:line-spanner::calc-right-bound-info) (meta . ((class . Spanner) (interfaces . (line-spanner-interface - line-interface)))) - )) + line-interface)))))) )) @@ -2218,6 +2269,7 @@ (define pure-print-callbacks (list + fret-board::calc-stencil print-circled-text-callback lyric-text::print ly:arpeggio::print @@ -2255,6 +2307,7 @@ (define pure-functions (list parenthesize-elements + ly:rest::y-offset-callback ly:staff-symbol-referencer::callback ly:staff-symbol::height))