On 11/1/2017 7:28 PM, Thomas Morley wrote:
There was a change in type-predicate for spanner-id. It's now 'key?'. In process-music of he engraver do((process-music trans) ;; Move begun spanners from 'spanners' to 'finished'. We do this ;; on the basis of 'spanner-id. If we find a match--either ;; the strings are the same, or both are unset--a transfer ;; can be made. Return a warning if we find no match: spanner ;; hasn't been properly begun. (for-each (lambda (es) (let ((es-id (ly:event-property es 'spanner-id))) (let loop ((sp spanners)) (if (null? sp) (ly:warning "No spanner to end!!") (let ((sp-id (ly:event-property (event-cause (cdar sp)) 'spanner-id))) (cond ((or ;;(and ;; (string? sp-id) ;; (string? es-id) ;; (string=? sp-id es-id)) (and (index? sp-id) (index? es-id) (eqv? sp-id es-id)) (and (null? sp-id) (null? es-id))) (set! finished (cons (cdar sp) finished)) (set! spanners (remove (lambda (s) (eq? s (car sp))) spanners))) (else (loop (cdr sp))))))))) stop-events)
Yes indeed you are right... This works great, thank you!! :) (see attached)
_______________________________________________ lilypond-user mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-user
