X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-grobs.scm;h=0e9ae37693c27d8857e260e32af4066d7f3ae857;hb=73c81adad8e53e74a721ef36297b59215eaa8c05;hp=df1dd3d9a9703ac1ea50f586f6322f4da01a77de;hpb=bbcb58184883768ca35d64451d7f693d2db11bb7;p=lilypond.git diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index df1dd3d9a9..0e9ae37693 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -21,11 +21,9 @@ . ( (avoid-slur . inside) (cautionary-style . parentheses) - (stencil . ,ly:accidental-interface::print) (after-line-breaking . ,ly:accidental-interface::after-line-breaking) - (meta . ((class . Item) (interfaces . (accidental-interface font-interface)))))) @@ -69,15 +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) @@ -87,13 +84,10 @@ (AmbitusLine . ( - (stencil . ,ly:ambitus::print) - (join-heads . #t) (thickness . 2) (X-offset . ,ly:self-alignment-interface::centered-on-x-parent) - (meta . ((class . Item) (interfaces . (ambitus-interface staff-symbol-referencer-interface @@ -105,11 +99,9 @@ (X-offset . ,ly:side-position-interface::x-aligned-side) (direction . ,LEFT) (cautionary-style . parentheses) - (stencil . ,ly:accidental-interface::print) (after-line-breaking . ,ly:accidental-interface::after-line-breaking) (side-axis . ,X) - (meta . ((class . Item) (interfaces . (item-interface accidental-interface @@ -120,10 +112,8 @@ (AmbitusNoteHead . ( (duration-log . 2) - (stencil . ,ly:note-head::print) (glyph-name . ,note-head::calc-glyph-name) - (Y-offset . ,ly:staff-symbol-referencer::callback) (meta . ((class . Item) (interfaces . (font-interface @@ -152,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) @@ -187,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) @@ -195,42 +186,70 @@ (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 . ( - ; (stencil . ,ly:text-interface::print) - (meta . ((class . Item) (interfaces . (text-interface 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) - + (X-extent . ,ly:enclosing-bracket::width) (edge-height . (0.2 . 0.2)) (meta . ((class . Item) (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)) @@ -238,25 +257,11 @@ (BassFigureLine . ( (axes . (,Y)) - (Y-extent . ,ly:axis-group-interface::height) - (meta . ((class . Spanner) (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 . ( @@ -280,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) @@ -309,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) @@ -366,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)) @@ -376,9 +390,7 @@ (clef . (minimum-space . 2.0)) (first-note . (fixed-space . 1.0)) ;huh? (right-edge . (extra-space . 0.1)))) - (stencil . ,ly:text-interface::print) - (text . ,(make-musicglyph-markup "scripts.rcomma")) (Y-offset . ,ly:breathing-sign::offset-callback) (break-visibility . ,begin-of-line-invisible) @@ -390,11 +402,9 @@ (Clef . ( - (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) @@ -415,19 +425,14 @@ (ClusterSpannerBeacon . ( - (Y-extent . ,ly:cluster-beacon::height) - (meta . ((class . Item) (interfaces . (cluster-beacon-interface)))))) (ClusterSpanner . ( - (springs-and-rods . ,ly:spanner::set-spacing-rods) (stencil . ,ly:cluster::print) - - (minimum-length . 0.0) (padding . 0.25) (style . ramp) @@ -436,10 +441,8 @@ (ChordName . ( - (stencil . ,ly:text-interface::print) (after-line-breaking . ,ly:chord-name::after-line-breaking) - (word-space . 0.0) (font-family . sans) (font-size . 1.5) @@ -452,9 +455,7 @@ (CombineTextScript . ( - (stencil . ,ly:text-interface::print) - (no-spacing-rods . #t) (Y-offset . ,ly:side-position-interface::y-aligned-side) (X-offset . ,ly:self-alignment-interface::x-aligned-on-self) @@ -475,10 +476,8 @@ (Custos . ( (break-align-symbol . custos) - (breakable . #t) - + (non-musical . #t) (stencil . ,ly:custos::print) - (break-visibility . ,end-of-line-visible) (style . vaticana) (neutral-direction . ,DOWN) @@ -497,10 +496,8 @@ . ( (axes . (0)) (direction . ,RIGHT) - (positioning-done . ,ly:dot-column::calc-positioning-done) (X-extent . ,ly:axis-group-interface::width) - (X-offset . ,ly:dot-column::side-position) (meta . ((class . Item) (interfaces . (dot-column-interface @@ -508,9 +505,7 @@ (Dots . ( - (stencil . ,ly:dots::print) - (dot-count . 1) (meta . ((class . Item) (interfaces . (font-interface @@ -520,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) @@ -534,7 +529,6 @@ (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))))) @@ -563,11 +557,8 @@ (minimum-space . 1.2) (direction . ,DOWN) (side-axis . ,Y) - (Y-extent . ,ly:axis-group-interface::height) (X-extent . ,ly:axis-group-interface::width) - - (meta . ((class . Spanner) (interfaces . (axis-group-interface dynamic-interface @@ -601,7 +592,6 @@ (DynamicTextSpanner . ( - (stencil . ,ly:dynamic-text-spanner::print) ;; rather ugh with NCSB @@ -617,10 +607,12 @@ (meta . ((class . Spanner) (interfaces . (font-interface text-interface + line-spanner-interface dynamic-interface dynamic-text-spanner-interface spanner-interface)))))) + (Fingering . ( @@ -652,18 +644,25 @@ (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) (after-line-breaking . ,ly:line-spanner::after-line-breaking) - - (meta . ((class . Spanner) (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)) @@ -673,14 +672,14 @@ (GridLine . ( - (X-extent . ,ly:grid-line-interface::width) (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 @@ -688,12 +687,10 @@ (Hairpin . ( - - (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) @@ -724,24 +721,33 @@ spanner-interface)))))) (InstrumentName . ( - (style . text) (padding . 0.3) - (stencil . ,ly:system-start-delimiter::print) - (collapse-height . 5.0) + (stencil . ,ly:system-start-text::print) (X-offset . ,ly:side-position-interface::x-aligned-side) (direction . ,LEFT) - (Y-offset . -0.75) - (Y-extent . #f) + (self-alignment-Y . ,CENTER) (meta . ((class . Spanner) (interfaces . (system-start-text-interface 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) - (space-alist . ( (time-signature . (extra-space . 1.25)) (staff-bar . (extra-space . 0.6)) @@ -751,17 +757,14 @@ (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 break-aligned-interface)))))) (KeySignature . ( - (stencil . ,ly:key-signature-interface::print) - (space-alist . ( (time-signature . (extra-space . 1.15)) (staff-bar . (extra-space . 1.1)) @@ -770,24 +773,23 @@ (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 break-aligned-interface)))))) - (LaissezVibrerTie + + + (LaissezVibrerTie . ( - (stencil . ,ly:tie::print) - (control-points . ,ly:laissez-vibrer-tie::calc-control-points) - (direction . ,ly:laissez-vibrer-tie::calc-direction) - + (control-points . ,ly:semi-tie::calc-control-points) + (direction . ,ly:semi-tie::calc-direction) (details . ((ratio . 0.333) (height-limit . 1.0))) (thickness . 1.0) (meta . ((class . Item) - (interfaces . (laissez-vibrer-tie-interface)) + (interfaces . (semi-tie-interface)) )) )) @@ -795,19 +797,17 @@ . ( (X-extent . #f) (Y-extent . #f) - (positioning-done . ,ly:laissez-vibrer-tie-column::calc-positioning-done) + (head-direction . ,LEFT) + (positioning-done . ,ly:semi-tie-column::calc-positioning-done) (meta . ((class . Item) - (interfaces . (laissez-vibrer-tie-column-interface)) + (interfaces . (semi-tie-column-interface)) )) )) (LedgerLineSpanner . ( - (springs-and-rods . ,ly:ledger-line-spanner::set-spacing-rods) - (stencil . ,ly:ledger-line-spanner::print) - (X-extent . #f) (Y-extent . #f) (minimum-length-fraction . 0.25) @@ -820,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)) @@ -849,10 +849,23 @@ (direction . ,UP) (positions . ,ly:tuplet-bracket::calc-positions) (stencil . ,ly:tuplet-bracket::print) - + (staff-padding . 0.25) + (connect-to-neighbor . ,ly:tuplet-bracket::calc-connect-to-neighbors) + (control-points . ,ly:tuplet-bracket::calc-control-points) (meta . ((class . Spanner) - (interfaces . (tuplet-bracket-interface - line-interface)))))) + (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 . ( @@ -864,9 +877,7 @@ (minimum-distance . 0.1) (padding . 0.07) (springs-and-rods . ,ly:hyphen-spanner::set-spacing-rods) - (stencil . ,ly:hyphen-spanner::print) - (Y-extent . (0 . 0)) (meta . ((class . Spanner) (interfaces . (lyric-interface @@ -874,20 +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) @@ -899,9 +898,7 @@ )) (LyricText . ( - (stencil . ,ly:text-interface::print) - (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent) (self-alignment-X . 0) (word-space . 0.6) @@ -919,9 +916,7 @@ . ( (Y-offset . ,ly:side-position-interface::y-aligned-side) (side-axis . ,Y) - (stencil . ,ly:measure-grouping::print) - (padding . 2) (direction . ,UP) (thickness . 1) @@ -941,7 +936,6 @@ (thickness . 1.4) (flexa-width . 2.0) (stencil . ,ly:mensural-ligature::print) - (meta . ((class . Spanner) (interfaces . (mensural-ligature-interface font-interface)))))) @@ -980,14 +974,14 @@ (MultiMeasureRestNumber . ( - (springs-and-rods . ,ly:multi-measure-rest::set-spacing-rods) + (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))))) (Y-offset . ,ly:side-position-interface::y-aligned-side) (side-axis . ,Y) - (self-alignment-X . 0) (direction . ,UP) (padding . 0.4) @@ -1023,11 +1017,9 @@ (NoteCollision . ( (axes . (0 1)) - (X-extent . ,ly:axis-group-interface::width) (Y-extent . ,ly:axis-group-interface::height) (positioning-done . ,ly:note-collision-interface::calc-positioning-done) - (meta . ((class . Item) (interfaces . (note-collision-interface axis-group-interface)))))) @@ -1037,14 +1029,12 @@ (axes . (0 1)) (X-extent . ,ly:axis-group-interface::width) (Y-extent . ,ly:axis-group-interface::height) - (meta . ((class . Item) (interfaces . (axis-group-interface note-column-interface)))))) (NoteHead . ( - (stencil . ,ly:note-head::print) (stem-attachment . ,ly:note-head::calc-stem-attachment) (glyph-name . ,note-head::calc-glyph-name) @@ -1065,16 +1055,13 @@ ;; Changed this from 0.75. ;; If you ever change this back, please document! --hwn (knee-spacing-correction . 1.0) - (meta . ((class . Item) (interfaces . (spacing-interface note-spacing-interface)))))) (NoteName . ( - (stencil . ,ly:text-interface::print) - (meta . ((class . Item) (interfaces . (note-name-interface text-interface @@ -1089,10 +1076,8 @@ ,(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) - ;; no Y dimensions, because of lyrics under tenor clef. (Y-extent . (0 . 0)) (font-shape . italic) @@ -1108,9 +1093,7 @@ (OttavaBracket . ( (Y-offset . ,ly:side-position-interface::y-aligned-side) - (stencil . ,ly:ottava-bracket::print) - (font-shape . italic) (shorten-pair . (0.0 . -0.6)) (staff-padding . 1.0) @@ -1130,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) @@ -1143,16 +1124,21 @@ axis-group-interface spaceable-grob-interface)))))) + (ParenthesesItem + . ((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) (direction . ,ly:slur::calc-direction) (springs-and-rods . ,ly:spanner::set-spacing-rods) (Y-extent . ,ly:slur::height) (stencil . ,ly:slur::print) - - (thickness . 1.1) (minimum-length . 1.5) (height-limit . 2.0) @@ -1163,12 +1149,13 @@ (NonMusicalPaperColumn . ( (axes . (0)) - (before-line-breaking . ,ly:paper-column::before-line-breaking) (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) @@ -1180,10 +1167,8 @@ (PercentRepeat . ( - (springs-and-rods . ,ly:multi-measure-rest::set-spacing-rods) (stencil . ,ly:multi-measure-rest::percent) - (slope . 1.0) (thickness . 0.48) (font-encoding . fetaMusic) @@ -1214,9 +1199,7 @@ ;; an example of a text spanner (PianoPedalBracket . ( - (stencil . ,ly:piano-pedal-bracket::print) - (style . line) (bound-padding . 1.0) (direction . ,DOWN) @@ -1233,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)))))) @@ -1261,6 +1247,30 @@ (slope . 1.7) (meta . ((class . Item) (interfaces . (percent-repeat-interface)))))) + (RepeatTie + . ( + (stencil . ,ly:tie::print) + (control-points . ,ly:semi-tie::calc-control-points) + (direction . ,ly:semi-tie::calc-direction) + (details . ((ratio . 0.333) + (height-limit . 1.0))) + (thickness . 1.0) + (meta . ((class . Item) + (interfaces . (semi-tie-interface)) + )) + )) + + (RepeatTieColumn + . ( + (X-extent . #f) + (Y-extent . #f) + (head-direction . ,RIGHT) + (positioning-done . ,ly:semi-tie-column::calc-positioning-done) + (meta . ((class . Item) + (interfaces . (semi-tie-column-interface)) + )) + )) + (Rest . ( (stencil . ,ly:rest::print) @@ -1279,7 +1289,6 @@ . ( (minimum-distance . 0.75) (positioning-done . ,ly:rest-collision::calc-positioning-done) - (meta . ((class . Item) (interfaces . (rest-collision-interface)))))) @@ -1287,9 +1296,7 @@ . ( ;; don't set direction here: it breaks staccato. - ;; This value is sensitive: if too large, staccato dots will move a - ;; space a away. - (padding . 0.20) + ;; padding set in script definitions. (staff-padding . 0.25) ;; (script-priority . 0) priorities for scripts, see script.scm (X-offset . , ly:self-alignment-interface::centered-on-x-parent) @@ -1297,7 +1304,6 @@ (stencil . ,ly:script-interface::print) (direction . ,ly:script-interface::calc-direction) - (font-encoding . fetaMusic) (meta . ((class . Item) (interfaces . (script-interface @@ -1306,9 +1312,7 @@ (ScriptColumn . ( - (before-line-breaking . ,ly:script-column::before-line-breaking) - (meta . ((class . Item) (interfaces . (script-column-interface)))))) @@ -1322,9 +1326,7 @@ (SeparatingGroupSpanner . ( - (springs-and-rods . ,ly:separating-group-spanner::set-spacing-rods) - (meta . ((class . Spanner) (interfaces . (only-prebreak-interface spacing-interface @@ -1332,32 +1334,60 @@ (Slur . ((details . ,default-slur-details) - (control-points . ,ly:slur::calc-control-points) (direction . ,ly:slur::calc-direction) (springs-and-rods . ,ly:spanner::set-spacing-rods) (Y-extent . ,ly:slur::height) (stencil . ,ly:slur::print) - - (thickness . 1.0) + (thickness . 1.2) + (line-thickness . 0.8) (minimum-length . 1.5) - ; ly:slur::height) (height-limit . 2.0) (ratio . 0.25) + (avoid-slur . inside) (meta . ((class . Spanner) (interfaces . (slur-interface)))))) - (SpacingSpanner + (SostenutoPedal . ( + (stencil . ,ly:text-interface::print) + (direction . ,RIGHT) + (X-offset . ,ly:self-alignment-interface::x-aligned-on-self) + (no-spacing-rods . #t) + (padding . 0.0) ;; padding relative to SostenutoPedalLineSpanner + (font-shape . italic) + (self-alignment-X . 0) + (meta . ((class . Item) + (interfaces . (text-interface + self-alignment-interface + font-interface)))))) + (SostenutoPedalLineSpanner + . ( + (axes . (1)) + (Y-extent . ,ly:axis-group-interface::height) + (Y-offset . ,ly:side-position-interface::y-aligned-side) + (side-axis . ,Y) + (staff-padding . 1.0) + (padding . 1.2) + (minimum-space . 1.0) + (direction . ,DOWN) + (meta . ((class . Spanner) + (interfaces . (piano-pedal-interface + axis-group-interface + side-position-interface)))))) + (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 @@ -1365,8 +1395,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) @@ -1390,7 +1419,6 @@ (StanzaNumber . ( (stencil . ,ly:text-interface::print) - (font-series . bold) (padding . 1.0) (X-offset . ,ly:side-position-interface::x-aligned-side) @@ -1402,68 +1430,16 @@ text-interface font-interface)))))) - (StringNumber - . ( - - (stencil . ,print-circled-text-callback) - - (padding . 0.5) - (staff-padding . 0.5) - (self-alignment-X . 0) - (self-alignment-Y . 0) - (script-priority . 100) - (font-encoding . fetaNumber) - (font-size . -5) ; don't overlap when next to heads. - (meta . ((class . Item) - (interfaces . (string-number-interface - font-interface - text-script-interface - text-interface - side-position-interface - self-alignment-interface - item-interface)))))) (StaffSpacing . ( - (breakable . #t) + (non-musical . #t) (stem-spacing-correction . 0.4) (meta . ((class . Item) (interfaces . (spacing-interface staff-spacing-interface)))))) - (SostenutoPedal - . ( - - (stencil . ,ly:text-interface::print) - - (direction . ,RIGHT) - (X-offset . ,ly:self-alignment-interface::x-aligned-on-self) - (no-spacing-rods . #t) - (padding . 0.0) ;; padding relative to SostenutoPedalLineSpanner - (font-shape . italic) - (self-alignment-X . 0) - (meta . ((class . Item) - (interfaces . (text-interface - self-alignment-interface - font-interface)))))) - - (SostenutoPedalLineSpanner - . ( - (axes . (1)) - - (X-extent . ,ly:axis-group-interface::height) - - (Y-offset . ,ly:side-position-interface::y-aligned-side) - (side-axis . ,Y) - - (padding . 1.2) - (minimum-space . 1.0) - (direction . ,DOWN) - (meta . ((class . Spanner) - (interfaces . (piano-pedal-interface - axis-group-interface - side-position-interface)))))) - + (StaffSymbol . ( (Y-extent . ,ly:staff-symbol::height) @@ -1479,15 +1455,14 @@ (direction . ,ly:stem::calc-direction) (default-direction . ,ly:stem::calc-default-direction) (stem-end-position . ,ly:stem::calc-stem-end-position) + (neutral-direction . ,DOWN) (stem-info . ,ly:stem::calc-stem-info) (positioning-done . ,ly:stem::calc-positioning-done) (stencil . ,ly:stem::print) (X-extent . ,ly:stem::width) (Y-extent . ,ly:stem::height) (length . ,ly:stem::calc-length) - (thickness . 1.3) - (details . ( ;; 3.5 (or 3 measured from note head) is standard length @@ -1516,10 +1491,6 @@ )) - - ;; default stem direction for note on middle line - (neutral-direction . ,DOWN) - ;; We use the normal minima as minimum for the ideal lengths, ;; and the extreme minima as abolute minimum length. @@ -1534,11 +1505,32 @@ (Y-extent . ,ly:stem-tremolo::height) (stencil . ,ly:stem-tremolo::print) (X-extent . #f) - (beam-width . 1.6) ; staff-space + (slope . ,ly:stem-tremolo::calc-slope) + (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)))))) + (StringNumber + . ( + (stencil . ,print-circled-text-callback) + (padding . 0.5) + (staff-padding . 0.5) + (self-alignment-X . 0) + (self-alignment-Y . 0) + (script-priority . 100) + (font-encoding . fetaNumber) + (font-size . -5) ; don't overlap when next to heads. + (meta . ((class . Item) + (interfaces . (string-number-interface + font-interface + text-script-interface + text-interface + side-position-interface + self-alignment-interface + item-interface)))))) + (SustainPedal . ( (no-spacing-rods . #t) @@ -1550,6 +1542,7 @@ (meta . ((class . Item) (interfaces . (piano-pedal-interface text-spanner-interface + line-spanner-interface text-interface self-alignment-interface font-interface)))))) @@ -1557,7 +1550,7 @@ (SustainPedalLineSpanner . ( (axes . (1)) - (X-extent . ,ly:axis-group-interface::height) + (Y-extent . ,ly:axis-group-interface::height) (Y-offset . ,ly:side-position-interface::y-aligned-side) (side-axis . ,Y) (padding . 1.2) @@ -1624,7 +1617,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) @@ -1637,11 +1632,10 @@ (TabNoteHead . ( - (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 @@ -1687,15 +1681,18 @@ (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:spanner::set-spacing-rods) (avoid-slur . inside) (direction . ,ly:tie::calc-direction) (stencil . ,ly:tie::print) + (font-size . -6) (details . ( ;; for a full list, see tie-helper.cc (ratio . 0.333) @@ -1705,13 +1702,18 @@ (stem-gap . 0.35) (height-limit . 1.0) (horizontal-distance-penalty-factor . 10) + (min-length-penalty-factor . 20) (tie-tie-collision-distance . 0.45) (tie-tie-collision-penalty . 25.0) (intra-space-threshold . 1.25) (outer-tie-vertical-distance-symmetry-penalty-factor . 10) (outer-tie-length-symmetry-penalty-factor . 10) + (outer-tie-vertical-gap . 0.25) + (multi-tie-region-size . 1) (between-length-limit . 1.0))) - (thickness . 1.0) + + (thickness . 1.2) + (line-thickness . 0.8) (meta . ((class . Spanner) (interfaces . (tie-interface)))) )) @@ -1734,7 +1736,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 @@ -1754,6 +1756,7 @@ (side-axis . ,Y) (meta . ((class . Spanner) (interfaces . (text-spanner-interface + line-spanner-interface side-position-interface font-interface)))))) @@ -1766,7 +1769,6 @@ (stencil . ,ly:accidental-interface::print) (meta . ((class . Item) (interfaces . (item-interface - accidental-interface side-position-interface font-interface)))))) @@ -1807,7 +1809,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) @@ -1821,6 +1822,7 @@ (TupletNumber . ( (stencil . ,ly:tuplet-number::print) + (text . ,tuplet-number::calc-denominator-text) (font-shape . italic) (font-size . -2) (avoid-slur . inside) @@ -1845,7 +1847,7 @@ (UnaCordaPedalLineSpanner . ( (axes . (1)) - (X-extent . ,ly:axis-group-interface::height) + (Y-extent . ,ly:axis-group-interface::height) (Y-offset . ,ly:side-position-interface::y-aligned-side) (side-axis . ,Y) (padding . 1.2) @@ -1893,7 +1895,6 @@ (VoltaBracket . ( (stencil . ,ly:volta-bracket-interface::print) - (after-line-breaking . ,ly:volta-bracket-interface::after-line-breaking) (direction . ,UP) (padding . 1) (font-encoding . fetaNumber) @@ -1917,7 +1918,7 @@ . ( (style . line) (gap . 0.5) - (breakable . #t) + (non-musical . #t) (X-extent . #f) (Y-extent . #f) (stencil . ,ly:line-spanner::print) @@ -1977,3 +1978,71 @@ (set! all-grob-descriptions (sort all-grob-descriptions alist