summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Kastrup <dak@gnu.org>2014-07-13 15:30:03 +0200
committerDavid Kastrup <dak@gnu.org>2014-07-18 12:15:02 +0200
commitced66166c128ac976110a8dd202c67e9c8830bc9 (patch)
tree51f72b1c2c501c590a20185e1c9b8878e62f0677
parent582df75bbaf68a520fc757ecdd3881a3fb8ad6d2 (diff)
Issue 4009: \retrograde fails on slurs
The section "Retrograde" in the Notation Reference is affected. This became likely exposed with issue 2240; the corresponding regtest does not cover it. The problem was existent previously for slurs and other spans inside of chords.
-rw-r--r--scm/modal-transforms.scm8
1 files changed, 5 insertions, 3 deletions
diff --git a/scm/modal-transforms.scm b/scm/modal-transforms.scm
index 3e31f660e4..4200a1f176 100644
--- a/scm/modal-transforms.scm
+++ b/scm/modal-transforms.scm
@@ -130,9 +130,8 @@ LilyPond scheme pitches, e.g. @code{(ly:make-pitch 0 2 0)}
"Recurse through @var{music}, extracting pitches.
Returns a list of pitch objects, e.g
@code{'((ly:make-pitch 0 2 0) (ly:make-pitch 0 4 0) ... )}
-Typically used to construct a scale for input to transposer-factory
-(see).
-"
+Typically used to construct a scale for input to
+@code{transposer-factory}."
(let ((elements (ly:music-property music 'elements))
(element (ly:music-property music 'element))
@@ -192,12 +191,15 @@ Typically used to construct a scale for input to transposer-factory
;; inversion and retrograding.
(let* ((elements (ly:music-property music 'elements))
+ (arts (ly:music-property music 'articulations))
(reversed (reverse elements))
(element (ly:music-property music 'element))
(span-dir (ly:music-property music 'span-direction)))
(ly:music-set-property! music 'elements reversed)
+ (for-each retrograde-music arts)
+
(if (ly:music? element)
(ly:music-set-property!
music 'element