lilypond-devel
[Top][All Lists]
Advanced

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

Re: Updating translators


From: Erik Sandberg
Subject: Re: Updating translators
Date: Sun, 9 Jul 2006 14:12:56 +0200
User-agent: KMail/1.9.1

On Saturday 08 July 2006 22:39, Erik Sandberg wrote:
> On Saturday 08 July 2006 12:21, Han-Wen Nienhuys wrote:
> > Erik Sandberg schreef:
> > >   B. Create a dummy listener that protects all incoming events, and
> > > unprotects them at the end of each moment. The easiest way is probably
> > > to let Score-level translators take care of this. This is the easiest
> > > and safest solution, but also the most inefficient one.
> > >   C. Create some macro trickery in translators, so that incoming events
> > > are remembered and protected automatically between try_music and
> > > stop_translation_timestep.
> >
> > go for either B or C. I'm not sure whether you can make B work, because
> > it sounds as if there still might still be a small time unprotected time
> > interval before the event reaches the protection engraver.
>
> No, the event is still protected by dispatchers (how could it otherwise
> reach the protection engraver?)
>
> Hm, for efficiency reasons, I think I'll go for a hybrid version, and let
> each translator group store a list of events, to which engraver listeners
> automatically store all incoming events.

This is now implemented, see attachment. Events are protected during as long 
as the translator-group is connected to the context. Other news:

- I commented out the 'junking event' warning.
- I added support for the grob property "cause" to have stream-event values, 
for grob::warning / grob::programming_error. This made me realise that 
set_spot and origin are duplicated in Music and Stream_event, and that this 
is bad. Do you think it would make sense to either move the set_spot and 
origin methods to Prob, or alternatively to introduce a new class 
Prob_with_origin? A Prob_with_origin would have the additional methods 
warning, programming_error, set_spot and origin. Music, Stream_event and Grob 
would all be subclasses of Prob_with_origin. Grob's origin would be set by 
make_grob_from_properties.

-- 
Erik

Attachment: es-060709.diff
Description: Text Data


reply via email to

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