[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Simplify the NullVoice context (issue 117050043 by address@hidden)

From: Keith OHara
Subject: Re: Simplify the NullVoice context (issue 117050043 by address@hidden)
Date: Sun, 07 Sep 2014 22:33:58 -0700
User-agent: Opera Mail/12.16 (Win32)

On Sun, 07 Sep 2014 01:21:58 -0700, <address@hidden> wrote:

But messing up the basic grob definition by fetching internals and
meddling through them locally: no.

Well, you say "messing up the basic grob definition"
I say "reading the basic definition, and making a local modified copy"

We can do in LilyPond code with ly:grob-interfaces, making a copy with one 
interface removed, and storing the shorter list in the NullVoice context 
definition with an \override, so the changes to apply to grobs made in this 

LilyPond tries to be robust to grobs different interfaces, by checking 
has-interface() before using the properties associated with that interface.

It turns out that there is a hierarchy in define-event-classes that says all 
note-events are musical-events and all musical-events are rhythmic-events.  
Maybe we have assumed that the correspondingly-named interfaces have a 
corresponding hierarchy.

I'll try some other way of telling Accidental_engraver to ignore NullVoice.  
I'm trying to let people move NullVoice to Staff without reintroducing the 
known issue of the cancellation accidentals in
 \new Staff <<
   \new NullVoice {cis dis es fis}
   \new Voice {r4 c d e } >>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]