X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-grobs.scm;h=1a03e9df5bbafc26ce2edbf7edfc94d3a02021c9;hb=39c0e8adb498996f5e414b1d0bc3a20ac81aa619;hp=7a223044224965b0f9392b084e3acf59e632c348;hpb=c7e4be8e58582084b306fc105b9bc30a71ccfe98;p=lilypond.git diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index 7a22304422..1a03e9df5b 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--2009 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen ;;;; distances are given in line-thickness (thicknesses) and @@ -171,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 . ( @@ -231,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)) @@ -326,8 +327,18 @@ (stencil . ,ly:beam::print) (clip-edges . #t) (cross-staff . ,ly:beam::calc-cross-staff) - - (details . ((hint-direction-penalty . 20))) + (details + .( + (secondary-beam-demerit . 10) + (stem-length-demerit-factor . 5) + (region-size . 2) + (beam-eps . 0.001) + (stem-length-limit-penalty . 5000) + (damping-direction-penalty . 800) + (hint-direction-penalty . 20) + (musical-direction-factor . 400) + (ideal-slope-factor . 10) + (round-to-zero-slope . 0.02))) ;; TODO: should be in SLT. (thickness . 0.48) ; in staff-space (neutral-direction . ,DOWN) @@ -356,11 +367,13 @@ (object-callbacks . ((normal-stems . ,ly:beam::calc-normal-stems))) (interfaces . (staff-symbol-referencer-interface unbreakable-spanner-interface - beam-interface)))))) + beam-interface + font-interface)))))) (BendAfter . ( (stencil . ,bend::print) + (minimum-length . 0.5) (thickness . 2.0) (meta . ((class . Spanner) (interfaces . (spanner-interface @@ -393,8 +406,8 @@ staff-bar key-cancellation key-signature - staff - time-signature custos) + time-signature + custos) ;; begin of line ( @@ -514,7 +527,7 @@ ;; todo: add X self alignment? (baseline-skip . 2) (side-axis . ,Y) - (avoid-slur . outside ) + (avoid-slur . outside) (font-series . bold) (meta . ((class . Item) (interfaces . (text-script-interface @@ -535,11 +548,10 @@ (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 . ( @@ -566,6 +578,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) @@ -574,6 +588,7 @@ (meta . ((class . Item) (interfaces . (font-interface break-aligned-interface + percent-repeat-interface percent-repeat-item-interface)))))) (DoublePercentRepeatCounter @@ -597,6 +612,7 @@ (interfaces . (side-position-interface self-alignment-interface percent-repeat-item-interface + percent-repeat-interface font-interface text-interface)))))) @@ -718,9 +734,12 @@ (FretBoard . ((stencil . ,fret-board::calc-stencil) + (after-line-breaking . ,ly:chord-name::after-line-breaking) (fret-diagram-details . ((finger-code . below-string))) (meta . ((class . Item) (interfaces . (fret-diagram-interface + rhythmic-grob-interface + chord-name-interface font-interface)))))) @@ -738,6 +757,7 @@ (padding . 1.5) )) )) + (after-line-breaking . ,ly:spanner::kill-zero-spanned-time) (stencil . ,ly:line-spanner::print) (left-bound-info . ,ly:line-spanner::calc-left-bound-info) (right-bound-info . ,ly:line-spanner::calc-right-bound-info) @@ -753,9 +773,9 @@ (shortest-duration-space . 1.6) (meta . ((class . Spanner) (interfaces . (grace-spacing-interface - spacing-options-interface spanner-interface)))))) + (GridPoint . ( (X-extent . (0 . 0)) @@ -784,7 +804,7 @@ . ( (stencil . ,ly:hairpin::print) (springs-and-rods . ,ly:spanner::set-spacing-rods) - (after-line-breaking . ,ly:hairpin::after-line-breaking) + (after-line-breaking . ,ly:spanner::kill-zero-spanned-time) (grow-direction . ,hairpin::calc-grow-direction) (circled-tip . #f) (to-barline . #t) @@ -794,6 +814,7 @@ (bound-padding . 1.0) (self-alignment-Y . ,CENTER) (Y-offset . ,ly:self-alignment-interface::y-aligned-on-self) + (Y-extent . ,ly:hairpin::height) (meta . ((class . Spanner) (interfaces . (hairpin-interface line-interface @@ -831,6 +852,7 @@ (meta . ((class . Spanner) (interfaces . (system-start-text-interface side-position-interface + self-alignment-interface font-interface)))))) (InstrumentSwitch @@ -844,9 +866,11 @@ (side-axis . ,Y) (self-alignment-X . ,LEFT) (outside-staff-priority . 500) - (extra-spacing-width . '(+inf.0 . -inf.0)) + (extra-spacing-width . (+inf.0 . -inf.0)) (meta . ((class . Item) (interfaces . (side-position-interface + self-alignment-interface + text-interface font-interface)))))) @@ -867,6 +891,7 @@ (meta . ((class . Item) (interfaces . (key-cancellation-interface key-signature-interface + staff-symbol-referencer-interface font-interface break-aligned-interface)))))) @@ -887,6 +912,7 @@ (non-musical . #t) (meta . ((class . Item) (interfaces . (key-signature-interface + staff-symbol-referencer-interface font-interface break-aligned-interface)))))) @@ -1142,6 +1168,7 @@ (non-musical . #t) (line-break-permission . allow) (page-break-permission . allow) + (full-measure-extra-space . 1.0) ;; debugging stuff: print column number. ;; (font-size . -6) (font-name . "sans") (Y-extent . #f) @@ -1150,7 +1177,8 @@ (interfaces . (paper-column-interface axis-group-interface separation-item-interface - spaceable-grob-interface)))))) + spaceable-grob-interface + font-interface)))))) (NoteCollision . ( @@ -1188,7 +1216,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 . ( @@ -1270,7 +1301,8 @@ (interfaces . (paper-column-interface separation-item-interface axis-group-interface - spaceable-grob-interface)))))) + spaceable-grob-interface + font-interface)))))) (ParenthesesItem . ((stencil . ,parentheses-item::print) @@ -1308,11 +1340,12 @@ (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 . ( @@ -1333,7 +1366,7 @@ (meta . ((class . Spanner) (interfaces . (side-position-interface self-alignment-interface - percent-repeat-item-interface + percent-repeat-interface font-interface text-interface)))))) @@ -1389,6 +1422,7 @@ (slope . 1.7) (meta . ((class . Item) (interfaces . (rhythmic-grob-interface + percent-repeat-interface percent-repeat-item-interface)))))) (RepeatTie @@ -1478,11 +1512,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) @@ -1540,8 +1574,7 @@ (base-shortest-duration . ,(ly:make-moment 3 16)) (meta . ((class . Spanner) - (interfaces . ( - spacing-options-interface + (interfaces . (spacing-options-interface spacing-spanner-interface)))))) (SpanBar @@ -1621,11 +1654,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.1 . 1.1)) + (beamlet-max-length-proportion . (0.75 . 0.75)) (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 @@ -1679,6 +1715,7 @@ (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) @@ -1823,12 +1860,12 @@ (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 . ( @@ -1855,7 +1892,9 @@ (meta . ((class . Item) (interfaces . (text-script-interface text-interface + instrument-specific-markup-interface side-position-interface + self-alignment-interface font-interface)))))) (TextSpanner @@ -1878,12 +1917,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)))))) @@ -1914,7 +1954,7 @@ (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))) @@ -1940,6 +1980,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)) @@ -1973,7 +2014,7 @@ )) (stencil . ,ly:line-spanner::print) - + (after-line-breaking . ,ly:spanner::kill-zero-spanned-time) (style . trill) (staff-padding . 1.0) (padding . 0.5) @@ -2016,7 +2057,6 @@ (interfaces . (side-position-interface parentheses-interface note-head-interface - rhythmic-head-interface font-interface axis-group-interface)))))) @@ -2040,6 +2080,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) @@ -2184,6 +2225,7 @@ (padding . 1.5) )) )) + (after-line-breaking . ,ly:spanner::kill-zero-spanned-time) (stencil . ,ly:line-spanner::print) (left-bound-info . ,ly:line-spanner::calc-left-bound-info) (right-bound-info . ,ly:line-spanner::calc-right-bound-info) @@ -2245,11 +2287,13 @@ (define pure-print-callbacks (list + fret-board::calc-stencil print-circled-text-callback lyric-text::print ly:arpeggio::print ly:arpeggio::brew-chord-bracket ly:bar-line::print + ly:mensural-ligature::brew-ligature-primitive ly:note-head::print ly:dots::print ly:clef::print @@ -2270,9 +2314,11 @@ (,ly:accidental-interface::height . ,ly:accidental-interface::pure-height) (,ly:arpeggio::height . ,ly:arpeggio::pure-height) (,ly:slur::outside-slur-callback . ,ly:slur::pure-outside-slur-callback) + (,ly:hairpin::height . ,ly:hairpin::pure-height) (,ly:stem::height . ,ly:stem::pure-height) (,ly:rest::height . ,ly:rest::pure-height) (,ly:grob::stencil-height . ,pure-stencil-height) + (,ly:self-alignment-interface::y-aligned-on-self . ,ly:self-alignment-interface::pure-y-aligned-on-self) (,ly:side-position-interface::y-aligned-side . ,ly:side-position-interface::pure-y-aligned-side) (,ly:axis-group-interface::height . ,ly:axis-group-interface::pure-height) (,ly:hara-kiri-group-spanner::y-extent . ,ly:hara-kiri-group-spanner::pure-height)