lilypond-devel
[Top][All Lists]
Advanced

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

Re: Cf. Hofstadter's Law


From: Han-Wen Nienhuys
Subject: Re: Cf. Hofstadter's Law
Date: Wed, 10 Jul 2002 19:41:14 +0200

address@hidden writes:
> Han-Wen Nienhuys wrote:
> 
> > I don't know precisely: in what cases do you absolutely need to
> > postpone the grob creation step to stop_translation_timestep ()?  
> 
> Problem is: You don't know that before stop_translation_timestep.
> The problematic cases is when an accidental depends on a simultainous 
> acc in another staff: In \context PianoStaff < c cis > the c needs to 
> get a natural because of the cis in the other staff. In the 
> process_acknowledged_grobs phase of the first staff the second staff has 
> not yet been interpreted and hence YOU DON'T KNOW whether a cis (or ces 
> or whatever) will occur in that staff.
> This is true for all notes. Even though in 99,999% of the cases no cis 
> will appear in the other staves so that no accidentals are needed. But 
> you don't KNOW it before you have interpreted all staves - in the 
> stop_translation_timestep phase.

I realize that I'm not making myself popular now, but how about
marking this as an official shortcoming of LilyPond, and leave it up
to the user to add appropriate `!' for the piano staff case?

I don't see an easy solution to this problem if we use
broadcast/acknowledge.  Perhaps the best option is to scrap the
current setup completely, and instead add the acc support into the
Note_head_engraver: you could have Note_head_engraver write all the
pitches produced into a property at staff or pianostaff level. That
gets you the pitch information at the right time.

Problem is: how do you get the tie information at the right moment?
Right now that also uses broadcast/acknowledge, which is too
late. Seems that the tie-engraver should -in that case- also make ties
based on properties set by the note heads engraver.

This all seems hyperhairy, BTW. This is definitely post 1.6 stuff. 

-- 

Han-Wen Nienhuys   |   address@hidden    | http://www.cs.uu.nl/~hanwen/




reply via email to

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