]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/modal-transforms.scm
Run grand replace for 2015.
[lilypond.git] / scm / modal-transforms.scm
index 3db3904726437ec0f1e218d7b5ffc7e86b74e412..98e9ac3021750bd510e9e9b276944820ab730fd4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; modal-transforms.scm --- Modal transposition, inversion, and retrograde.
 
-;; Copyright (C) 2011--2012 Ellis & Grant, Inc.
+;; Copyright (C) 2011--2015 Ellis & Grant, Inc.
 
 ;; Author: Michael Ellis <michael.f.ellis@gmail.com>
 
@@ -120,7 +120,7 @@ LilyPond scheme pitches, e.g. @code{(ly:make-pitch 0 2 0)}
       (ly:music-set-property! music 'pitch (converter pitch)))
 
      ((pair? elements)
-      (map (lambda (x) (change-pitches x converter)) elements))
+      (for-each (lambda (x) (change-pitches x converter)) elements))
 
      ((ly:music? element)
       (change-pitches element converter)))))
@@ -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
@@ -206,7 +208,7 @@ Typically used to construct a scale for input to transposer-factory
     (if (ly:dir? span-dir)
         (ly:music-set-property! music 'span-direction (- span-dir)))
 
-    (map retrograde-music reversed)
+    (for-each retrograde-music reversed)
 
     music))