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
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user