------- Original Message -------
From: Marc Hohl <marc@xxxxxxxxxx>
To: Carl Sorensen <c_sorensen@xxxxxxx>
Sent: 8.2.10, 20:21:54
Subject: Re: [frogs] Music expressions and iterators (was: bendimplementation)
(I don't
know in which
order the engravers are called, and thus I don't know whether the
string-bend engraver
can get the string number from the note head, but I think so);
My understanding is that the initialize, start_translation_timestep, process_music, process_acknowledged, stop_translation_timestep and finalize functions are called in the order the engravers appear in the context definition, but that events are heard in the order they appear in the music stream.
In other words, if two engravers are listening for the same event, the first in the context block will hear it first and will finish whatever it does in the event handler function before the second one hears it. On the other hand, if an engraver is listening for two events, it will have to wait until all other engravers have finished with the first event before it hears the second. I assume this is why most engravers just store their heard events in the handler functions and do their processing in process_
music.
I assume the situation is similar for grob acknowledgment, but am not sure.
This is the impression I get from the Erik Sandberg thesis. If it's correct, it might be useful for the CG. Does anyone know otherwise?