Ok, I am trying to figure out for what kind of task one would use what kind of Lilypond construct. So I try echoing my current understanding and want you to holler when I am wrong.
We have music functions. Music functions can be used for doing music in, music out. Now music can be complex, containing chords, material of several durations, markups, context switches (?), parallel music. The main nuisance with music functions is that you need to deal with everything. Also there are things like bar checks which don't make sense while interpreting a music expression, but need to be passed down to some context where some engraver will pick them up and complain or not. If we need to process all of this in a sort of sequential manner, like if we are trying to construct a combined part, or trying to play something, or trying to engrave a staff or so, we need a context, right? A context consists of a number of engravers who are more or less able to selectively grab material passing through the context, time-sequentially. A context needs to deal with everything as well, by using suitable engravers. If we just want to pick out what we are interested in, time-sequentially/sorted and leave the rest alone, like lyrics and stuff, we use an engraver. How do we signal that we have picked something and that no other engraver need bother with it? An engraver really is the same thing as a performer and a translator. Hopefully. Corrections? Thanks. -- David Kastrup _______________________________________________ lilypond-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/lilypond-devel
