X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Fspanners-init.ly;h=59765d075e7cdd40589e1da782c1fec006889ca2;hb=9ce70a9e297d35e2165e8cc7ed0b65bc51a86df6;hp=3fdf1b7b31029418cd342e23185742ba26ac361c;hpb=4995fea559cd5399b4f462de546a15195d76f4c3;p=lilypond.git diff --git a/ly/spanners-init.ly b/ly/spanners-init.ly index 3fdf1b7b31..59765d075e 100644 --- a/ly/spanners-init.ly +++ b/ly/spanners-init.ly @@ -1,53 +1,116 @@ -\version "1.3.146" +\version "2.6.0" -cr = \spanrequest \start "crescendo" -decr = \spanrequest \start "decrescendo" -rc = \spanrequest \stop "crescendo" -rced = \spanrequest \stop "decrescendo" +startGroup = #(make-span-event 'NoteGroupingEvent START) +stopGroup = #(make-span-event 'NoteGroupingEvent STOP) -cresc = \notes { - \commandspanrequest \start "crescendo" - \property Voice.crescendoText = #"cresc." - \property Voice.crescendoSpanner = #'dashed-line + +cr = #(make-span-event 'CrescendoEvent START) +decr = #(make-span-event 'DecrescendoEvent START) +enddecr = #(make-span-event 'DecrescendoEvent STOP) +endcr = #(make-span-event 'CrescendoEvent STOP) + + +startTextSpan = #(make-span-event 'TextSpanEvent START) +stopTextSpan = #(make-span-event 'TextSpanEvent STOP) + + +startTrillSpan = #(make-span-event 'TrillSpanEvent START) +stopTrillSpan = #(make-span-event 'TrillSpanEvent STOP) + + +% STOP: junkme! +cresc = { + #(ly:export (make-event-chord (list cr))) + \set crescendoText = \markup { \italic "cresc." } + \set crescendoSpanner = #'dashed-line +} + + +dim = { + #(ly:export (make-event-chord (list decr))) + + \set decrescendoText = \markup { \italic "dim." } + \set decrescendoSpanner = #'dashed-line +} + +enddim = { + #(ly:export (make-event-chord (list enddecr))) + \unset decrescendoText + \unset decrescendoSpanner } % ah, this is handy: maybe drop resetting of properties in % dynamic-engraver ? -endcresc = \notes { - \commandspanrequest \stop "crescendo" - \property Voice.crescendoText \unset - \property Voice.crescendoSpanner \unset +endcresc = { + #(ly:export (make-event-chord (list endcr))) + \unset crescendoText + \unset crescendoSpanner } -dim = \notes { - \commandspanrequest \start "decrescendo" - \property Voice.decrescendoText = #"dim." - \property Voice.decrescendoSpanner = #'dashed-line +%%%%%%%%%%%%%%%% + +setTextCresc = { + \set crescendoText = \markup { \italic "cresc." } + \set crescendoSpanner = #'dashed-line } -enddim = \notes { - \commandspanrequest \stop "decrescendo" - \property Voice.decrescendoText \unset - \property Voice.decrescendoSpanner \unset +setTextDecresc = { + \set decrescendoText = \markup { \italic "decr." } + \set decrescendoSpanner = #'dashed-line } -%{ +setTextDim = { + \set decrescendoText = \markup { \italic "dim." } + \set decrescendoSpanner = #'dashed-line +} +setHairpinCresc = { + \unset crescendoText + \unset crescendoSpanner +} +setHairpinDecresc = { + \unset decrescendoText + \unset decrescendoSpanner +} +setHairpinDim = { + \unset decrescendoText + \unset decrescendoSpanner +} -cresc = \spanrequest \start "crescendo" -endcresc = \spanrequest \stop "crescendo" -%} % better name sustainstart/stop? -sustainDown = \spanrequest \start "Sustain" -sustainUp = \spanrequest \stop "Sustain" +sustainUp = #(make-span-event 'SustainEvent STOP) +sustainDown = #(make-span-event 'SustainEvent START) + +unaCorda = #(make-span-event 'UnaCordaEvent START) +treCorde = #(make-span-event 'UnaCordaEvent STOP) + +sostenutoDown = #(make-span-event 'SostenutoEvent START) +sostenutoUp = #(make-span-event 'SostenutoEvent STOP) + +%crescpoco = \set crescendoText = "cresc. poco a poco" +%decresc = \set crescendoText = "decr." +%dim = \set crescendoText = "dim." -unaCorda = \spanrequest \start "UnaCorda" -treCorde = \spanrequest \stop "UnaCorda" -sostenutoDown = \spanrequest \start "Sostenuto" -sostenutoUp = \spanrequest \stop "Sostenuto" +% for regression testing purposes. +assertBeamQuant = +#(def-music-function (parser location l r) (pair? pair?) + (make-grob-property-override 'Beam 'positions + (ly:make-simple-closure + (ly:make-simple-closure + (append + (list chain-grob-member-functions `(,cons 0 0)) + (check-quant-callbacks l r)))))) + +% for regression testing purposes. +assertBeamSlope = +#(def-music-function (parser location comp) (procedure?) + (make-grob-property-override 'Beam 'positions + (ly:make-simple-closure + (ly:make-simple-closure + (append + (list chain-grob-member-functions `(,cons 0 0)) + (check-slope-callbacks comp)))))) + -%crescpoco = \property Voice.crescendoText = "cresc. poco a poco" -%decresc = \property Voice.crescendoText = "decr." -%dim = \property Voice.crescendoText = "dim."