From: Reinhold Kainhofer Date: Fri, 21 Aug 2009 22:49:18 +0000 (+0200) Subject: Change \cresc,\dim,\decresc to post-fix operators for (de)cresc spanners X-Git-Tag: release/2.13.20-1~6 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=bf5e2a2a8feba1a38d620049d426b4f26bd55bb6;p=lilypond.git Change \cresc,\dim,\decresc to post-fix operators for (de)cresc spanners -) Implement text cresc and co. using the properties of the (De)CrescendoEvent -) rename old functions as deprecated (e.g. \deprecatedcresc) and implement a convert-ly rule --- diff --git a/Documentation/changes.tely b/Documentation/changes.tely index 3cd6872f06..09ac3678e3 100644 --- a/Documentation/changes.tely +++ b/Documentation/changes.tely @@ -64,6 +64,15 @@ which scares away people. @end ignore +@item +Text crescendo spanners can now be added directly using @code{\cresc}, +@code{\dim} and @code{\decresc}. +@lilypond[quote,relative=2] +c4\cresc c c c\f | +c4\dim c c c\! +@end lilypond + + @item The documented syntax of @samp{lilypond} environments in the @LaTeX{} mode of @command{lilypond-book} has been changed to conform with diff --git a/input/regression/dynamics-text-spanner-postfix.ly b/input/regression/dynamics-text-spanner-postfix.ly index 2b1044c670..b9a321a85f 100644 --- a/input/regression/dynamics-text-spanner-postfix.ly +++ b/input/regression/dynamics-text-spanner-postfix.ly @@ -1,22 +1,15 @@ -\version "2.13.4" +\version "2.13.19" \header { -texidoc = "The \cresc, \dim and \decresc spanners can now be redefined as -postfix operators and produce one text spanner. Defining custom spanners is -also easy. Hairpin and text crescendi can be easily mixed. \< and \> produce +texidoc = "The \cresc, \dim and \decresc spanners are now postfix operators +and produce one text spanner. Defining custom spanners is also easy. +Hairpin and text crescendi can be easily mixed. \< and \> produce hairpins by default, \cresc etc. produce text spanners by default." } % Some sample text dynamic spanners, to be used as postfix operators crpoco = #(make-music 'CrescendoEvent 'span-direction START 'span-type 'text 'span-text "cresc. poco a poco") -% Redefine the existing \cresc, \dim and \decresc commands to use postfix syntax -cresc = #(make-music 'CrescendoEvent 'span-direction START - 'span-type 'text 'span-text "cresc.") -dim = #(make-music 'DecrescendoEvent 'span-direction START - 'span-type 'text 'span-text "dim.") -decresc = #(make-music 'DecrescendoEvent 'span-direction START - 'span-type 'text 'span-text "decresc.") \relative c' { c4\cresc d4 e4 f4 | diff --git a/ly/spanners-init.ly b/ly/spanners-init.ly index afcfaf445f..065827ab59 100644 --- a/ly/spanners-init.ly +++ b/ly/spanners-init.ly @@ -22,56 +22,61 @@ episemInitium = #(make-span-event 'EpisemaEvent START) episemFinis = #(make-span-event 'EpisemaEvent STOP) -% STOP: junkme! -cresc = { +cresc = #(make-music 'CrescendoEvent 'span-direction START 'span-type 'text 'span-text "cresc.") +endcresc = #(make-span-event 'CrescendoEvent STOP) +dim = #(make-music 'DecrescendoEvent 'span-direction START 'span-type 'text 'span-text "dim.") +enddim = #(make-span-event 'DecrescendoEvent STOP) +decresc = #(make-music 'DecrescendoEvent 'span-direction START 'span-type 'text 'span-text "decresc.") +enddecresc = #(make-span-event 'DecrescendoEvent STOP) + +% Deprecated functions: +% TODO: DEPRECATED_2_13_19 +deprecatedcresc = { #(ly:export (make-event-chord (list cr))) \once \set crescendoText = \markup { \italic "cresc." } \once \set crescendoSpanner = #'text } -dim = { +deprecateddim = { #(ly:export (make-event-chord (list decr))) \once \set decrescendoText = \markup { \italic "dim." } \once \set decrescendoSpanner = #'text } -enddim = { +deprecatedenddim = { #(ly:export (make-event-chord (list enddecr))) % \unset decrescendoText % \unset decrescendoSpanner } -endcresc = { +deprecatedendcresc = { #(ly:export (make-event-chord (list endcr))) % \unset crescendoText % \unset crescendoSpanner } + %%%%%%%%%%%%%%%% crescTextCresc = { \set crescendoText = \markup { \italic "cresc." } \set crescendoSpanner = #'text - \override DynamicTextSpanner #'style = #'dashed-line } dimTextDecresc = { \set decrescendoText = \markup { \italic "decresc." } \set decrescendoSpanner = #'text - \override DynamicTextSpanner #'style = #'dashed-line } dimTextDecr = { \set decrescendoText = \markup { \italic "decr." } \set decrescendoSpanner = #'text - \override DynamicTextSpanner #'style = #'dashed-line } dimTextDim = { \set decrescendoText = \markup { \italic "dim." } \set decrescendoSpanner = #'text - \override DynamicTextSpanner #'style = #'dashed-line } crescHairpin = { diff --git a/python/convertrules.py b/python/convertrules.py index 8de43822e0..21c934fd37 100644 --- a/python/convertrules.py +++ b/python/convertrules.py @@ -2997,6 +2997,11 @@ def conv(str): str = re.sub (r"\\AncientRemoveEmptyStaffContext", r"\\VaticanaStaff \\RemoveEmptyStaves", str); + +@rule ((2,13,20), + _ ("\\cresc etc. are now postfix operators")) +def conv (str): + str = re.sub (r'\\(cresc|dim|endcresc|enddim\w+)', r'\\deprecated\1', str) return str # Guidelines to write rules (please keep this at the end of this file)