[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Wrong type argument
From: |
James |
Subject: |
Re: Wrong type argument |
Date: |
Wed, 03 Sep 2014 08:17:34 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0 |
On 02/09/14 21:58, Thomas Morley wrote:
> 2014-09-02 12:44 GMT+02:00 MING TSANG <address@hidden>:
>> 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
- Re: Wrong type argument,
James <=