lilypond-devel
[Top][All Lists]
Advanced

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

Re: Trying to get a hang of what to use when...


From: Han-Wen Nienhuys
Subject: Re: Trying to get a hang of what to use when...
Date: Sun, 24 Jan 2010 21:50:53 -0800

mostly correct. some remarks

On Sat, Jan 23, 2010 at 8:58 AM, David Kastrup <address@hidden> wrote:
> 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.

Indeed. Music functions make sense when you are structurally changing
the music, eg

  << {a b}{c d} >>

to

  { << a c >> << b d >> }

or things like transposition, slowing down or speeding up music.


> If we need to process all of this in a sort of sequential manner, like

I usually call this "synchronized", because simultaneously sounding
events are processed in the same timestep.

> 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?

> 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?

IIRC More than one engraver may process an event: multiple engraver
can listen for a given event-type.  (I'm 99% sure - the 1% is because
Erik's rewrite changed this, so I may miss a subtlety)

> An engraver really is the same thing as a performer and a translator.
> Hopefully.


performers for playing, engravers for printing.  Translator is their baseclass.





-- 
Han-Wen Nienhuys - address@hidden - http://www.xs4all.nl/~hanwen




reply via email to

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