From: David Kastrup Date: Tue, 14 Jan 2014 19:22:47 +0000 (+0100) Subject: Issue 3811: Partcombiner cannot deal with repeat chords X-Git-Tag: release/2.18.2-1~9 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=7f4ab2ded9c1c1202719d70a32b3aab6c04fa8dd;p=lilypond.git Issue 3811: Partcombiner cannot deal with repeat chords (cherry picked from commit e67366fea6687825c81c81f23210059215abb7bb) The original commit primarily dealt with issue 3810 which is not relevant for 2.18. --- diff --git a/scm/part-combiner.scm b/scm/part-combiner.scm index 4e3e4b6603..2c1bd721c0 100644 --- a/scm/part-combiner.scm +++ b/scm/part-combiner.scm @@ -198,6 +198,12 @@ Voice-state objects (helper 0 '())) +(define recording-group-functions + ;;Selected parts from @var{toplevel-music-functions} not requiring @code{parser}. + (list + (lambda (music) (expand-repeat-chords! '(rhythmic-event) music)))) + + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (define-public (recording-group-emulate music odef) "Interpret @var{music} according to @var{odef}, but store all events @@ -240,7 +246,10 @@ LilyPond version 2.8 and earlier." (ly:add-listener new-context-listener (ly:context-events-below global) 'AnnounceNewContext) (ly:add-listener mom-listener (ly:context-event-source global) 'Prepare) - (ly:interpret-music-expression (make-non-relative-music music) global) + (ly:interpret-music-expression + (make-non-relative-music + (fold (lambda (x m) (x m)) music recording-group-functions)) + global) context-list)) (define-public (make-part-combine-music parser music-list direction)