X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Fgrace-init.ly;h=a46111e4d91a2a62d36c6595b7a9e88da3047738;hb=a6a51abfd0195a3cf7d6ea095cf69808852f21ce;hp=09db889aca50af165412044023f16a124542fe41;hpb=3ff94f8b432a21c198e900d7ea0742b4af53621b;p=lilypond.git diff --git a/ly/grace-init.ly b/ly/grace-init.ly index 09db889aca..a46111e4d9 100644 --- a/ly/grace-init.ly +++ b/ly/grace-init.ly @@ -1,82 +1,38 @@ -\version "1.5.68" +\version "2.17.6" -startGraceMusic = { - \property Voice.Stem \override #'direction = #1 - \property Voice.Stem \override #'lengths = - #(map (lambda (x) (* 0.8 x)) '(2.5 2.5 3.0 4.0 5.0)) - \property Voice.Stem \override #'stem-shorten = - #'(0.4 0) - \property Voice.Stem \override #'beamed-lengths = - #(map (lambda (x) (* 0.8 x)) '(3.26)) - \property Voice.Stem \override #'beamed-minimum-free-lengths = - #(map (lambda (x) (* 0.8 x)) '(2.5 2.0 1.5)) - \property Voice.Stem \override #'beamed-extreme-minimum-free-lengths = - #(map (lambda (x) (* 0.8 x)) '(1.83 1.5)) +startGraceSlur = #(make-music 'SlurEvent 'span-direction START 'spanner-id 'grace) +stopGraceSlur = #(make-music 'SlurEvent 'span-direction STOP 'spanner-id 'grace) - \property Voice.Stem \override #'no-stem-extend = ##t - \property Voice.Stem \override #'stroke-style = #"grace" - \property Voice.Beam \override #'thickness = #0.384 - - %% Instead of calling Beam::space_function, we should invoke - %% the previously active beam function... - \property Voice.Beam \override #'space-function = - #(lambda (beam mult) (* 0.8 (Beam::space_function beam mult))) - \property Voice.Beam \override #'position-callbacks = - #`(,Beam::least_squares - ,Beam::check_concave - ,Beam::slope_damping) - - % Can't use Staff.fontSize, since time sigs, keys sigs, etc. will - % be smaller as well. +startGraceMusic = { +} - \property Voice.fontSize = #-2 - \property Staff.Accidental \override #'font-relative-size = #-2 - \property Voice.Slur \override #'direction = #-1 +stopGraceMusic = { } +startAppoggiaturaMusic = +{ + <>\startGraceSlur +} -%% attention: order is significant: reversed from above -%% (consistent ordering reduces memory usage.) -stopGraceMusic = { - \property Voice.Slur \revert #'direction - \property Staff.Accidental \revert #'font-relative-size - \property Voice.Beam \revert #'thickness +stopAppoggiaturaMusic = { + <>\stopGraceSlur +} - \property Voice.Stem \revert #'stroke-style - \property Voice.Stem \revert #'no-stem-extend - \property Voice.Stem \revert #'beamed-extreme-minimum-free-lengths - \property Voice.Stem \revert #'beamed-minimum-free-lengths - \property Voice.Stem \revert #'beamed-lengths - \property Voice.Stem \revert #'stem-shorten - \property Voice.Stem \revert #'lengths - \property Voice.Stem \revert #'direction - \property Voice.Beam \revert #'space-function - - \property Voice.Beam \revert #'position-callbacks - - % Can't use Staff.fontSize, since time sigs, keys sigs, etc. will - % be smaller as well. +startAcciaccaturaMusic = { + <>\startGraceSlur + \temporary \override Flag.stroke-style = #"grace" +} - \property Voice.fontSize \unset +stopAcciaccaturaMusic = { + \revert Flag.stroke-style + <>\stopGraceSlur } -#(define (add-to-grace-init context object prop val) - " Override context.object #'property before entering grace context, -and restore afterwards. Use this to add settings to default grace notes. -" - (set! stopGraceMusic - (make-sequential-music - (cons - (context-spec-music (make-grob-property-revert object prop) context) - (ly-get-mus-property stopGraceMusic 'elements) - ))) - (set! startGraceMusic - (make-sequential-music - (append - (ly-get-mus-property startGraceMusic 'elements) - (list (context-spec-music (make-grob-property-set object prop val) context)) - ) - ))) - +startSlashedGraceMusic = { + \temporary \override Flag.stroke-style = #"grace" +} +stopSlashedGraceMusic = { + \revert Flag.stroke-style +}