X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-grobs.scm;h=0048dc8598553bf06c18b3162ebfef9d58522f07;hb=2aa1d6f450a7f051aa4b0ddcaf89593f7ff23a60;hp=71a167d80af153b6a179d0664ed6725067cbc21f;hpb=19b37df119ff6ca84421d984fe1d33112ad08299;p=lilypond.git diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index 71a167d80a..0048dc8598 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 1998--2010 Han-Wen Nienhuys +;;;; Copyright (C) 1998--2011 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify @@ -36,6 +36,7 @@ (Y-extent . ,ly:accidental-interface::height) (meta . ((class . Item) (interfaces . (accidental-interface + inline-accidental-interface font-interface)))))) (AccidentalCautionary @@ -48,6 +49,7 @@ (Y-extent . ,ly:accidental-interface::height) (meta . ((class . Item) (interfaces . (accidental-interface + inline-accidental-interface font-interface)))))) (AccidentalPlacement @@ -102,7 +104,9 @@ (break-visibility . ,begin-of-line-visible) (non-musical . #t) (space-alist . ( + (cue-end-clef . (extra-space . 0.5)) (clef . (extra-space . 0.5)) + (cue-clef . (extra-space . 0.5)) (key-signature . (extra-space . 0.0)) (staff-bar . (extra-space . 0.0)) (time-signature . (extra-space . 0.0)) @@ -111,9 +115,7 @@ (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))) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs))) (interfaces . (ambitus-interface axis-group-interface break-aligned-interface)))))) @@ -177,6 +179,8 @@ (BalloonTextItem . ( + (annotation-balloon . #t) + (annotation-line . #t) (stencil . ,ly:balloon-interface::print) (text . ,(grob::calc-property-by-copy 'text)) (X-offset . ,(grob::calc-property-by-copy 'X-offset)) @@ -190,7 +194,6 @@ . ( (allow-span-bar . #t) (bar-extent . ,ly:bar-line::calc-bar-extent) - (bar-size . ,ly:bar-line::calc-bar-size) (break-align-anchor . ,ly:bar-line::calc-anchor) (break-align-symbol . staff-bar) (break-visibility . ,bar-line::calc-break-visibility) @@ -274,9 +277,7 @@ (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))) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs))) (interfaces . (align-interface axis-group-interface bass-figure-alignment-interface)))))) @@ -292,9 +293,7 @@ (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))) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs))) (interfaces . (axis-group-interface side-position-interface)))))) @@ -321,9 +320,7 @@ (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))) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs))) (interfaces . (axis-group-interface)))))) @@ -331,7 +328,6 @@ . ( ;; todo: clean this up a bit: the list is getting ;; rather long. - (auto-knee-gap . 5.5) (beam-thickness . 0.48) ; in staff-space @@ -353,6 +349,13 @@ (beaming . ,ly:beam::calc-beaming) (clip-edges . #t) + (collision-interfaces . (beam-interface + clef-interface + inline-accidental-interface + key-signature-interface + note-head-interface + stem-interface + time-signature-interface)) (concaveness . ,ly:beam::calc-concaveness) (cross-staff . ,ly:beam::calc-cross-staff) (damping . 1) @@ -367,9 +370,12 @@ (hint-direction-penalty . 20) (musical-direction-factor . 400) (ideal-slope-factor . 10) + (collision-penalty . 500) + (collision-padding . 0.35) (round-to-zero-slope . 0.02))) (direction . ,ly:beam::calc-direction) + (normalized-endpoints . ,ly:spanner::calc-normalized-endpoints) ;; only for debugging. (font-family . roman) @@ -423,9 +429,11 @@ (break-align-orders . ;; end of line #(( left-edge + cue-end-clef ambitus breathing-sign clef + cue-clef staff-bar key-cancellation key-signature @@ -435,9 +443,11 @@ ;; unbroken ( left-edge + cue-end-clef ambitus breathing-sign clef + cue-clef staff-bar key-cancellation key-signature @@ -454,6 +464,7 @@ key-signature staff-bar time-signature + cue-clef custos))) (non-musical . #t) (positioning-done . ,ly:break-alignment-interface::calc-positioning-done) @@ -475,6 +486,8 @@ (time-signature . (minimum-space . 1.5)) (staff-bar . (minimum-space . 1.5)) (clef . (minimum-space . 2.0)) + (cue-clef . (minimum-space . 2.0)) + (cue-end-clef . (minimum-space . 2.0)) (first-note . (fixed-space . 1.0)) ;huh? (right-edge . (extra-space . 0.1)))) (stencil . ,ly:text-interface::print) @@ -492,6 +505,7 @@ (font-family . sans) (font-size . 1.5) (stencil . ,ly:text-interface::print) + (extra-spacing-height . (0.2 . -0.2)) (word-space . 0.0) (meta . ((class . Item) (interfaces . (chord-name-interface @@ -507,7 +521,7 @@ (break-visibility . ,begin-of-line-visible) (glyph-name . ,ly:clef::calc-glyph-name) (non-musical . #t) - (space-alist . ((ambitus . (extra-space . 2.0)) + (space-alist . ((cue-clef . (extra-space . 2.0)) (staff-bar . (extra-space . 0.7)) (key-cancellation . (minimum-space . 3.5)) (key-signature . (minimum-space . 3.5)) @@ -516,7 +530,6 @@ (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 @@ -564,6 +577,59 @@ text-interface text-script-interface)))))) + (CueClef + . ( + (avoid-slur . inside) + (break-align-anchor . ,ly:break-aligned-interface::calc-extent-aligned-anchor) + (break-align-symbol . cue-clef) + (break-visibility . ,begin-of-line-visible) + (font-size . -4) + (glyph-name . ,ly:clef::calc-glyph-name) + (non-musical . #t) + (full-size-change . #t) + (space-alist . ((staff-bar . (minimum-space . 2.7)) + (key-cancellation . (minimum-space . 3.5)) + (key-signature . (minimum-space . 3.5)) + (time-signature . (minimum-space . 4.2)) + (custos . (minimum-space . 0.0)) + (first-note . (minimum-fixed-space . 3.0)) + (next-note . (extra-space . 0.5)) + (right-edge . (extra-space . 0.5)))) + (stencil . ,ly:clef::print) + (Y-offset . ,ly:staff-symbol-referencer::callback) + (meta . ((class . Item) + (interfaces . (break-aligned-interface + clef-interface + font-interface + staff-symbol-referencer-interface)))))) + + (CueEndClef + . ( + (avoid-slur . inside) + (break-align-anchor . ,ly:break-aligned-interface::calc-extent-aligned-anchor) + (break-align-symbol . cue-end-clef) + (break-visibility . ,begin-of-line-invisible) + (font-size . -4) + (glyph-name . ,ly:clef::calc-glyph-name) + (non-musical . #t) + (full-size-change . #t) + (space-alist . ((clef . (extra-space . 0.7)) + (cue-clef . (extra-space . 0.7)) + (staff-bar . (extra-space . 0.7)) + (key-cancellation . (minimum-space . 3.5)) + (key-signature . (minimum-space . 3.5)) + (time-signature . (minimum-space . 4.2)) + (first-note . (minimum-fixed-space . 5.0)) + (next-note . (extra-space . 0.5)) + (right-edge . (extra-space . 0.5)))) + (stencil . ,ly:clef::print) + (Y-offset . ,ly:staff-symbol-referencer::callback) + (meta . ((class . Item) + (interfaces . (break-aligned-interface + clef-interface + font-interface + staff-symbol-referencer-interface)))))) + (Custos . ( (break-align-symbol . custos) @@ -614,7 +680,6 @@ (slope . 1.0) (stencil . ,ly:percent-repeat-item-interface::double-percent) (thickness . 0.48) - (width . 2.0) (meta . ((class . Item) (interfaces . (break-aligned-interface font-interface @@ -646,6 +711,20 @@ side-position-interface text-interface)))))) + (DoubleRepeatSlash + . ( + (dot-negative-kern . 0.75) + (font-encoding . fetaMusic) + (slash-negative-kern . 1.6) + (slope . 1.0) + (stencil . ,ly:percent-repeat-item-interface::beat-slash) + (thickness . 0.48) + (meta . ((class . Item) + (interfaces . (font-interface + percent-repeat-interface + percent-repeat-item-interface + rhythmic-grob-interface)))))) + (DynamicLineSpanner . ( (axes . (,Y)) @@ -662,9 +741,7 @@ (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))) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs))) (interfaces . (axis-group-interface dynamic-interface dynamic-line-spanner-interface @@ -797,11 +874,47 @@ text-interface text-script-interface)))))) + (FootnoteItem + . ( + (annotation-balloon . #f) + (annotation-line . #t) + (break-visibility . ,inherit-y-parent-visibility) + (footnote-text . ,(grob::calc-property-by-copy 'footnote-text)) + (stencil . ,ly:balloon-interface::print) + (text . ,(grob::calc-property-by-copy 'text)) + (Y-extent . #f) + (X-offset . ,(grob::calc-property-by-copy 'X-offset)) + (Y-offset . ,(grob::calc-property-by-copy 'Y-offset)) + (meta . ((class . Item) + (interfaces . (balloon-interface + footnote-interface + font-interface + text-interface)))))) + + (FootnoteSpanner + . ( + (annotation-balloon . #f) + (annotation-line . #t) + (footnote-text . ,(grob::calc-property-by-copy 'footnote-text)) + (spanner-placement . ,LEFT) + (stencil . ,ly:balloon-interface::print-spanner) + (text . ,(grob::calc-property-by-copy 'text)) + (Y-extent . #f) + (X-offset . ,(grob::calc-property-by-copy 'X-offset)) + (Y-offset . ,(grob::calc-property-by-copy 'Y-offset)) + (meta . ((class . Spanner) + (interfaces . (balloon-interface + footnote-interface + footnote-spanner-interface + font-interface + text-interface)))))) + (FretBoard . ( (after-line-breaking . ,ly:chord-name::after-line-breaking) (fret-diagram-details . ((finger-code . below-string))) (stencil . ,fret-board::calc-stencil) + (extra-spacing-height . (0.2 . -0.2)) (meta . ((class . Item) (interfaces . (chord-name-interface font-interface @@ -821,6 +934,7 @@ )) (gap . 0.5) (left-bound-info . ,ly:line-spanner::calc-left-bound-info) + (normalized-endpoints . ,ly:spanner::calc-normalized-endpoints) (right-bound-info . ,ly:line-spanner::calc-right-bound-info) (stencil . ,ly:line-spanner::print) (style . line) @@ -828,7 +942,8 @@ (Y-extent . #f) (zigzag-width . 0.75) (meta . ((class . Spanner) - (interfaces . (line-interface + (interfaces . (glissando-interface + line-interface line-spanner-interface unbreakable-spanner-interface)))))) @@ -887,15 +1002,6 @@ self-alignment-interface spanner-interface)))))) - (HarmonicParenthesesItem - . ( - (padding . 0) - (stencil . ,parentheses-item::print) - (stencils . ,parentheses-item::calc-angled-bracket-stencils) - (meta . ((class . Item) - (interfaces . (font-interface - parentheses-interface)))))) - (HorizontalBracket . ( (bracket-flare . (0.5 . 0.5)) @@ -958,9 +1064,11 @@ (time-signature . (extra-space . 1.25)) (staff-bar . (extra-space . 0.6)) (key-signature . (extra-space . 0.5)) + (cue-clef . (extra-space . 0.5)) (right-edge . (extra-space . 0.5)) (first-note . (fixed-space . 2.5)))) (stencil . ,ly:key-signature-interface::print) + (extra-spacing-width . (0.0 . 0.5)) (Y-offset . ,ly:staff-symbol-referencer::callback) (meta . ((class . Item) (interfaces . (break-aligned-interface @@ -980,9 +1088,11 @@ (space-alist . ( (time-signature . (extra-space . 1.15)) (staff-bar . (extra-space . 1.1)) + (cue-clef . (extra-space . 0.5)) (right-edge . (extra-space . 0.5)) (first-note . (fixed-space . 2.5)))) (stencil . ,ly:key-signature-interface::print) + (extra-spacing-width . (0.0 . 0.5)) (Y-offset . ,ly:staff-symbol-referencer::callback) (meta . ((class . Item) (interfaces . (break-aligned-interface @@ -1031,17 +1141,20 @@ (break-align-symbol . left-edge) (break-visibility . ,center-invisible) (non-musical . #t) + (extra-spacing-height . (+inf.0 . -inf.0)) (space-alist . ( - (custos . (extra-space . 0.0)) (ambitus . (extra-space . 2.0)) - (time-signature . (extra-space . 1.0)) - (staff-bar . (extra-space . 0.0)) (breathing-sign . (minimum-space . 0.0)) + (cue-end-clef . (extra-space . 0.8)) (clef . (extra-space . 0.8)) + (cue-clef . (extra-space . 0.8)) + (staff-bar . (extra-space . 0.0)) + (key-cancellation . (extra-space . 0.0)) + (key-signature . (extra-space . 0.8)) + (time-signature . (extra-space . 1.0)) + (custos . (extra-space . 0.0)) (first-note . (fixed-space . 2.0)) (right-edge . (extra-space . 0.0)) - (key-signature . (extra-space . 0.8)) - (key-cancellation . (extra-space . 0.0)) )) (X-extent . (0 . 0)) (meta . ((class . Item) @@ -1078,6 +1191,7 @@ (LyricHyphen . ( + (after-line-breaking . ,ly:spanner::kill-zero-spanned-time) (dash-period . 10.0) (height . 0.42) (length . 0.66) @@ -1108,7 +1222,10 @@ (LyricText . ( (extra-spacing-width . (0.0 . 0.0)) - (font-series . bold-narrow) + ;; Recede in height for purposes of note spacing, + ;; so notes in melismata can be freely spaced above lyrics + (extra-spacing-height . (0.2 . -0.2)) + (font-series . medium) (font-size . 1.0) (self-alignment-X . ,CENTER) (stencil . ,lyric-text::print) @@ -1145,7 +1262,6 @@ (MensuralLigature . ( - (flexa-width . 2.0) (stencil . ,ly:mensural-ligature::print) (thickness . 1.4) (meta . ((class . Spanner) @@ -1170,7 +1286,7 @@ ,(ly:make-simple-closure (list ly:self-alignment-interface::x-aligned-on-self))))) (self-alignment-X . ,LEFT) - (break-align-symbols . (key-signature time-signature)) + (break-align-symbols . (time-signature)) (non-break-align-symbols . (multi-measure-rest-interface)) (non-musical . #t) (meta . ((class . Item) @@ -1186,7 +1302,7 @@ (expand-limit . 10) (hair-thickness . 2.0) (padding . 1) - (spacing-pair . (break-alignment . staff-bar)) + (spacing-pair . (break-alignment . break-alignment)) (springs-and-rods . ,ly:multi-measure-rest::set-spacing-rods) (staff-position . 0) (stencil . ,ly:multi-measure-rest::print) @@ -1254,8 +1370,11 @@ (before-line-breaking . ,ly:paper-column::before-line-breaking) (full-measure-extra-space . 1.0) (horizontal-skylines . ,ly:separation-item::calc-skylines) + ;; sufficient padding to prevent ledger lines from moving over/under + (skyline-vertical-padding . 0.6) ;; (stencil . ,ly:paper-column::print) + (keep-inside-line . #t) (line-break-permission . allow) (non-musical . #t) (page-break-permission . allow) @@ -1266,9 +1385,7 @@ (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))) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs))) (interfaces . (axis-group-interface font-interface paper-column-interface @@ -1284,9 +1401,7 @@ (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))) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs))) (interfaces . (axis-group-interface note-collision-interface)))))) @@ -1294,22 +1409,23 @@ . ( (axes . (,X ,Y)) (horizontal-skylines . ,ly:separation-item::calc-skylines) + (skyline-vertical-padding . 0.15) (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))) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs))) (interfaces . (axis-group-interface note-column-interface separation-item-interface)))))) (NoteHead . ( + (flexa-width . 2.0) (duration-log . ,note-head::calc-duration-log) (extra-spacing-height . ,ly:note-head::include-ledger-line-height) (glyph-name . ,note-head::calc-glyph-name) + (ligature-flexa . #f) (stem-attachment . ,ly:note-head::calc-stem-attachment) (stencil . ,ly:note-head::print) (X-offset . ,ly:note-head::stem-x-shift) @@ -1348,7 +1464,7 @@ (OctavateEight . ( - (break-visibility . ,begin-of-line-visible) + (break-visibility . ,inherit-x-parent-visibility) (font-shape . italic) (font-size . -4) (self-alignment-X . ,CENTER) @@ -1396,6 +1512,7 @@ (axes . (,X)) (before-line-breaking . ,ly:paper-column::before-line-breaking) (horizontal-skylines . ,ly:separation-item::calc-skylines) + (keep-inside-line . #t) ;; (stencil . ,ly:paper-column::print) (X-extent . ,ly:axis-group-interface::width) @@ -1403,9 +1520,7 @@ ;; (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))) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs))) (interfaces . (axis-group-interface font-interface paper-column-interface @@ -1523,6 +1638,7 @@ (RepeatSlash . ( + (slash-negative-kern . 0.85) (slope . 1.7) (stencil . ,ly:percent-repeat-item-interface::beat-slash) (thickness . 0.48) @@ -1657,9 +1773,7 @@ (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))) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs))) (interfaces . (axis-group-interface piano-pedal-interface side-position-interface)))))) @@ -1680,7 +1794,6 @@ . ( (allow-span-bar . #t) (bar-extent . ,ly:axis-group-interface::height) - (bar-size . ,ly:span-bar::calc-bar-size) (before-line-breaking . ,ly:span-bar::before-line-breaking) (break-align-symbol . staff-bar) (cross-staff . #t) @@ -1702,21 +1815,21 @@ (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))) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs))) (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) + (staff-staff-spacing . ((basic-distance . 9) + (minimum-distance . 7) + (padding . 1) + (stretchability . 5))) + (staffgroup-staff-spacing . ((basic-distance . 10.5) (minimum-distance . 8) - (padding . 1))) + (padding . 1) + (stretchability . 9))) (meta . ((class . Spanner) (interfaces . (staff-grouper-interface)))))) @@ -1762,7 +1875,7 @@ . ( ;; 3.5 (or 3 measured from note head) is standard length ;; 32nd, 64th, 128th flagged stems should be longer - (lengths . (3.5 3.5 3.5 4.5 5.0 6.0)) + (lengths . (3.5 3.5 3.5 4.25 5.0 6.0)) ;; FIXME. 3.5 yields too long beams (according to Ross and ;; looking at Baerenreiter examples) for a number of common @@ -1888,9 +2001,7 @@ (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))) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs))) (interfaces . (axis-group-interface piano-pedal-interface side-position-interface)))))) @@ -1899,13 +2010,12 @@ . ( (adjacent-pure-heights . ,ly:axis-group-interface::adjacent-pure-heights) (axes . (,X ,Y)) + (skyline-horizontal-padding . 0.5) (vertical-skylines . ,ly:axis-group-interface::calc-skylines) (X-extent . ,ly:axis-group-interface::width) (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)))))) @@ -1972,16 +2082,28 @@ (TabNoteHead . ( - (details . ((tied-properties . ((break-visibility . ,begin-of-line-visible) - (parenthesize . #t))) + (details . ((cautionary-properties . ((angularity . 0.4) + (half-thickness . 0.075) + (padding . 0) + (procedure . ,parenthesize-stencil) + (width . 0.25))) + (head-offset . 3/5) + (harmonic-properties . ((angularity . 2) + (half-thickness . 0.075) + (padding . 0) + (procedure . ,parenthesize-stencil) + (width . 0.25))) (repeat-tied-properties . ((note-head-visible . #t) - (parenthesize . #t))))) + (parenthesize . #t))) + (tied-properties . ((break-visibility . ,begin-of-line-visible) + (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) + (stencil . ,tab-note-head::print) (whiteout . #t) (X-offset . ,ly:self-alignment-interface::x-aligned-on-self) (Y-offset . ,ly:staff-symbol-referencer::callback) @@ -1999,14 +2121,12 @@ (avoid-slur . around) (cross-staff . ,ly:script-interface::calc-cross-staff) (direction . ,DOWN) - (direction . ,ly:script-interface::calc-direction) (extra-spacing-width . (+inf.0 . -inf.0)) (outside-staff-priority . 450) ;; sync with Fingering ? (padding . 0.5) - (positioning-done . ,ly:script-interface::calc-positioning-done) (script-priority . 200) (side-axis . ,Y) (slur-padding . 0.5) @@ -2109,6 +2229,7 @@ (extra-spacing-height . (-1.0 . 1.0)) (non-musical . #t) (space-alist . ( + (cue-clef . (extra-space . 1.5)) (first-note . (fixed-space . 2.0)) (right-edge . (extra-space . 0.5)) (staff-bar . (minimum-space . 2.0)))) @@ -2132,6 +2253,7 @@ (meta . ((class . Item) (interfaces . (accidental-interface font-interface + inline-accidental-interface side-position-interface trill-pitch-accidental-interface)))))) @@ -2256,9 +2378,7 @@ (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))) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs))) (interfaces . (axis-group-interface piano-pedal-interface side-position-interface)))))) @@ -2284,8 +2404,6 @@ (meta . ((class . Spanner) (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)))))) @@ -2294,11 +2412,11 @@ . ( (adjacent-pure-heights . ,ly:axis-group-interface::adjacent-pure-heights) (axes . (,Y)) - (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))) + (default-staff-staff-spacing . ((basic-distance . 9) + (minimum-distance . 8) + (padding . 1))) + (nonstaff-unrelatedstaff-spacing . ((padding . 0.5))) + (staff-staff-spacing . ,ly:axis-group-interface::calc-staff-staff-spacing) (stencil . ,ly:axis-group-interface::print) (vertical-skylines . ,ly:hara-kiri-group-spanner::calc-skylines) (X-extent . ,ly:axis-group-interface::width) @@ -2308,9 +2426,7 @@ (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))) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs))) (interfaces . (axis-group-interface hara-kiri-group-spanner-interface)))))) @@ -2369,9 +2485,7 @@ (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))) + (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs))) (interfaces . (axis-group-interface side-position-interface volta-interface)))))) @@ -2448,6 +2562,7 @@ ly:note-head::print ly:dots::print ly:clef::print + ly:key-signature-interface::print ly:percent-repeat-item-interface::beat-slash ly:text-interface::print ly:script-interface::print @@ -2460,6 +2575,7 @@ `( (,ly:arpeggio::print . ,ly:arpeggio::pure-height) (,ly:arpeggio::brew-chord-bracket . ,ly:arpeggio::pure-height) + (,ly:arpeggio::brew-chord-slur . ,ly:arpeggio::pure-height) (,ly:hairpin::print . ,ly:hairpin::pure-height) (,ly:volta-bracket-interface::print . ,volta-bracket-interface::pure-height))) @@ -2484,7 +2600,7 @@ (define pure-conversions-alist `( (,ly:accidental-interface::height . ,ly:accidental-interface::pure-height) - (,ly:axis-group-interface::calc-next-staff-spacing . ,ly:axis-group-interface::calc-pure-next-staff-spacing) + (,ly:axis-group-interface::calc-staff-staff-spacing . ,ly:axis-group-interface::calc-pure-staff-staff-spacing) (,ly:axis-group-interface::height . ,ly:axis-group-interface::pure-height) (,ly:grob::stencil-height . ,pure-stencil-height) (,ly:hara-kiri-group-spanner::y-extent . ,ly:hara-kiri-group-spanner::pure-height)