lilypond-devel
[Top][All Lists]
Advanced

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

Re: articulations on EventChord


From: David Kastrup
Subject: Re: articulations on EventChord
Date: Wed, 08 Feb 2012 10:26:56 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.92 (gnu/linux)

Janek Warchoł <address@hidden> writes:

> 2012/2/7 David Kastrup <address@hidden>:
>
>> As long as this is just user generated content, there is not much
>> more to do rather than let the event chord iterator replay
>> articulations after elements.
>
> I don't understand.  Do you mean that if an articulation is applied to
> EventChord, it would be automatically applied to EventChord's elements
> ("moved to elements level")?  Or that articulations applied to whole
> EventChord will be applied on top of articulations applied to
> elements?  (If i screwed this completely, you don't have to waste a
> lot of time explaining)

LilyPond's typesetting does not act on music expressions and music
events.  It acts exclusively on stream events.  It is the act of
iterators to convert a music expression into a sequence of stream events
played in time order.

The EventChord iterator is pretty simple: it just takes its "elements"
field when its time comes up, turns every member into a StreamEvent and
plays that through the typesetting process.  The parser currently
appends all postevents belonging to a chord at the end of "elements",
and thus they get played at the same point of time as the elements of
the chord.  Due to this design, you can add per-chord articulations or
postevents or even assemble chords with a common stem by using parallel
music providing additional notes/events: the typesetter does not see a
chord structure or postevents belonging to a chord, it just sees a
number of events occuring at the same point of time in a Voice context.

So all one needs to do is let the EventChord iterator play articulations
after elements, and then adding to articulations in EventChord is
equivalent to adding them to elements (except in cases where the order
of events matters).

Feel free to add this information into CG when you find a nice place...

-- 
David Kastrup



reply via email to

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