On 02/09/14 21:58, Thomas Morley wrote: > 2014-09-02 12:44 GMT+02:00 MING TSANG <[email protected]>: >> James & Phil: >> I comment out line 421 which call solfege-engravers - both versions run ok. >> Un-comment out line 421 - v2.19.12 run ok; but fails with v2.19.13. >> I don't know scheme. I cannot not begin debug. >> Appreciated if you can help. >> Emmanuel, >> Ming. > > It's more an issue with NullVoice, than with the solfege-engraver. > In NullVoice the following line returns an empty list: > (tonic-pitch (ly:context-property context 'tonic)) > Seems 'tonic is not "known" in NullVoice. > > Can't help more, I didn't follow the discussion about NullVoice close > enough and my computer is still broken, acting as a guest on another > computer (until I've the money to buy a new one ...) > > Nevertheless, here a boiled down code > (The engraver will cause some terminal-output, all other functionality > is commented) > > > \version "2.19.13" % work on v2.19.12 but failes with v2.19.13 > > #(define numR➀ '("➀" "➁" "➂" "➃" "➄" "➅" "➆")) > > #(define (solfege-engraver lst dir) > (make-engraver > (acknowledgers > ((note-head-interface engraver grob source) > (let* ( > (context (ly:translator-context engraver)) > (tonic-pitch (ly:context-property context 'tonic)) > ; (tonic-index (ly:pitch-notename tonic-pitch)) > (event (ly:grob-property grob 'cause)) > (event-copy (ly:event-deep-copy event)) > (grob-pitch (ly:event-property event 'pitch)) > (grob-index (ly:pitch-notename grob-pitch)) > ; (delta (modulo (- grob-index tonic-index) 7)) > ; (name (list-ref lst delta)) > ; (newgrob (ly:engraver-make-grob engraver 'TextScript > event-copy)) > ) > > (newline) > (display tonic-pitch) > > ;; clear 'tweaks for newgrob > ;; (ly:event-set-property! event-copy 'tweaks '()) > ; (if (string= name "Hb") (set! name "B")) > ;; Give newgrob 'outside-staff-priority depending on > ;; grob 'staff-position > ; (set! (ly:grob-property newgrob 'outside-staff-priority) > ; (+ (ly:grob-property newgrob 'outside-staff-priority) > ; (* dir (ly:grob-property grob 'staff-position)))) > ; (set! (ly:grob-property newgrob 'text) name) > ; (set! (ly:grob-property newgrob 'direction) dir) > ))))) > > > \layout { > \context { > \NullVoice > \consists #(solfege-engraver numR➀ UP) > } > } > > \new Staff > \new NullVoice > { d'4 } > > > > Cheers, > Harm >
Is it because NullVoice is has now been moved in terms of its context 'position' (if that is the right word)? http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=commit;h=fc8c2d680464130af497c386ed5f0033d3fd7470 (ccing - bug in case this is a bug or not). James _______________________________________________ bug-lilypond mailing list [email protected] https://lists.gnu.org/mailman/listinfo/bug-lilypond
