X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=scm%2Fpart-combiner.scm;h=a2ebda492cff8c30ce8e6360f1df56d16020e84d;hb=c1793a8d3c9943293ebcd5725dcbfa26bb2d99ad;hp=7278b29e3cb5273ab730f5ebfb22d635a9fa2d2d;hpb=aae8f9ee8f62e8a57f4f60a60e639a040571f37b;p=lilypond.git diff --git a/scm/part-combiner.scm b/scm/part-combiner.scm index 7278b29e3c..a2ebda492c 100644 --- a/scm/part-combiner.scm +++ b/scm/part-combiner.scm @@ -257,36 +257,34 @@ LilyPond version 2.8 and earlier." ((context-list '()) (now-mom (ly:make-moment 0 0)) (global (ly:make-global-context odef)) - (mom-listener (ly:make-listener - (lambda (tev) (set! now-mom (ly:event-property tev 'moment))))) + (mom-listener (lambda (tev) (set! now-mom (ly:event-property tev 'moment)))) (new-context-listener - (ly:make-listener - (lambda (sev) - (let* - ((child (ly:event-property sev 'context)) - (this-moment-list (cons (ly:context-id child) '())) - (dummy (set! context-list (cons this-moment-list context-list))) - (acc '()) - (accumulate-event-listener - (ly:make-listener (lambda (ev) - (set! acc (cons (cons ev #t) acc))))) - (save-acc-listener - (ly:make-listener (lambda (tev) - (if (pair? acc) - (let ((this-moment - (cons (cons now-mom - (ly:context-property child 'instrumentTransposition)) - ;; The accumulate-event-listener above creates - ;; the list of events in reverse order, so we - ;; have to revert it to the original order again - (reverse acc)))) - (set-cdr! this-moment-list - (cons this-moment (cdr this-moment-list))) - (set! acc '()))))))) - (ly:add-listener accumulate-event-listener - (ly:context-event-source child) 'StreamEvent) - (ly:add-listener save-acc-listener - (ly:context-event-source global) 'OneTimeStep)))))) + (lambda (sev) + (let* + ((child (ly:event-property sev 'context)) + (this-moment-list (cons (ly:context-id child) '())) + (dummy (set! context-list (cons this-moment-list context-list))) + (acc '()) + (accumulate-event-listener + (lambda (ev) + (set! acc (cons (cons ev #t) acc)))) + (save-acc-listener + (lambda (tev) + (if (pair? acc) + (let ((this-moment + (cons (cons now-mom + (ly:context-property child 'instrumentTransposition)) + ;; The accumulate-event-listener above creates + ;; the list of events in reverse order, so we + ;; have to revert it to the original order again + (reverse acc)))) + (set-cdr! this-moment-list + (cons this-moment (cdr this-moment-list))) + (set! acc '())))))) + (ly:add-listener accumulate-event-listener + (ly:context-event-source child) 'StreamEvent) + (ly:add-listener save-acc-listener + (ly:context-event-source global) 'OneTimeStep))))) (ly:add-listener new-context-listener (ly:context-events-below global) 'AnnounceNewContext) (ly:add-listener mom-listener (ly:context-event-source global) 'Prepare)