X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fmodal-transforms.scm;h=98e9ac3021750bd510e9e9b276944820ab730fd4;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=3e31f660e4e7e10fdd3a6a40cf14f3dce7d0b3a8;hpb=e24fb7cc5671aea95211d4a0c56f28fb6fe8720e;p=lilypond.git diff --git a/scm/modal-transforms.scm b/scm/modal-transforms.scm index 3e31f660e4..98e9ac3021 100644 --- a/scm/modal-transforms.scm +++ b/scm/modal-transforms.scm @@ -1,6 +1,6 @@ ;;; modal-transforms.scm --- Modal transposition, inversion, and retrograde. -;; Copyright (C) 2011--2014 Ellis & Grant, Inc. +;; Copyright (C) 2011--2015 Ellis & Grant, Inc. ;; Author: Michael Ellis @@ -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