Hey all, Does anyone have any idea why the custom-rolled VoiceFollower isn't printing in the example below? I'm positive the grob is being created and that it is linking successive notes (check out the print to the command line to see the info).
Cheers, MS \version "2.14.2" #(define (define-grob-property symbol type? description) (if (not (equal? (object-property symbol 'backend-doc) #f)) (ly:error (_ "symbol ~S redefined") symbol)) (set-object-property! symbol 'backend-type? type?) (set-object-property! symbol 'backend-doc description) symbol) #(define-grob-property 'link-me boolean? "Link two grobs.") changeEngraver = #(let ((note-head-list '())) (list (cons 'acknowledgers (list (cons 'note-head-interface (lambda (engraver grob source-engraver) (if (ly:grob-property grob 'link-me #f) (set! note-head-list (cons grob note-head-list))))))) (cons 'process-acknowledged (lambda (trans) (if (= 2 (length note-head-list)) (let ((grob (ly:engraver-make-grob trans 'VoiceFollower (cadr note-head-list)))) (ly:spanner-set-bound! grob LEFT (car note-head-list)) (ly:spanner-set-bound! grob RIGHT (cadr note-head-list)) (set! note-head-list '()))))))) \layout { \context { \Score \consists \changeEngraver } } \new Staff \relative c' { \override NoteHead #'link-me = ##t \override Score.VoiceFollower #'stencil = #(lambda (grob) (format #t "INFO ~a ~a\n" (ly:grob-property grob 'left-bound-info) (ly:grob-property grob 'right-bound-info)) (ly:line-spanner::print grob)) a1 b \break c d \break e f \break g a } _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user