X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fpart-combiner.scm;h=7deeeeb4815615f4ffb5e9ff48b1dcda321a716a;hb=623fac8d645e4078af36758af5d437c5eb39e793;hp=88c0b88fa6be7d94d61f6d8f40c946176c449309;hpb=f7ee0ca6ef6650af9b091782cb03375be6d890f8;p=lilypond.git diff --git a/scm/part-combiner.scm b/scm/part-combiner.scm index 88c0b88fa6..7deeeeb481 100644 --- a/scm/part-combiner.scm +++ b/scm/part-combiner.scm @@ -41,7 +41,7 @@ (define-method (note-events (vs )) (define (f? x) - (equal? (ly:event-property x 'class) 'note-event)) + (ly:in-event-class? x 'note-event)) (filter f? (events vs))) (define-method (previous-voice-state (vs )) @@ -130,19 +130,19 @@ Voice-state objects "Analyse EVS at INDEX, given state ACTIVE." (define (analyse-tie-start active ev) - (if (equal? (ly:event-property ev 'class) 'tie-event) + (if (ly:in-event-class? ev 'tie-event) (acons 'tie (split-index (vector-ref voice-state-vec index)) active) active)) (define (analyse-tie-end active ev) - (if (equal? (ly:event-property ev 'class) 'note-event) + (if (ly:in-event-class? ev 'note-event) (assoc-remove! active 'tie) active)) (define (analyse-absdyn-end active ev) - (if (or (equal? (ly:event-property ev 'class) 'absolute-dynamic-event) - (and (equal? (ly:event-property ev 'class) 'crescendo-event) + (if (or (ly:in-event-class? ev 'absolute-dynamic-event) + (and (ly:in-event-class? ev 'span-dynamic-event) (equal? STOP (ly:event-property ev 'span-direction)))) (assoc-remove! (assoc-remove! active 'cresc) 'decr) active)) @@ -153,7 +153,7 @@ Voice-state objects (else (< (cdr a) (cdr b))))) (define (analyse-span-event active ev) - (let* ((name (ly:event-property ev 'class)) + (let* ((name (car (ly:event-property ev 'class))) (key (cond ((equal? name 'slur-event) 'slur) ((equal? name 'phrasing-slur-event) 'tie) ((equal? name 'beam-event) 'beam)