lilypond-user
[Top][All Lists]
Advanced

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

Re: Aleatoric / modern notation


From: David Nalesnik
Subject: Re: Aleatoric / modern notation
Date: Sat, 8 Dec 2012 07:21:48 -0600

Hi Jeffrey,

I'm copying this to the list since I myself am not sure about something here.

On Sat, Dec 8, 2012 at 5:13 AM, Jeffrey Trevino
<address@hidden> wrote:
> Hi David,
>
> Thanks for revising this more for me. I really appreciate your efforts, and
> I will take a look at this asap and write back. For my learning, could you
> please explain what exactly you changed between versions 4 and 5 that got it
> working in parallel?
>

Well, I must say that I was a bit mystified by this, and I don't
understand why the original form wouldn't work on multiple staves.

I spent a good deal of time trying to figure out the sequence of the
various "methods" within the engraver--i.e., when is "process-music"
called in relation to "listeners" and "acknowledgers".  The order
these methods appear is not necessarily the order in which they are
called in a timestep, and a method may be called more than once within
a single timestep--process-music, for example.  You have to understand
the sequence to know what information you have to work with at any
given time.  (For example, process-music will be called in a timestep
before any grobs are "acknowledged" and afterwards as well.  Trying to
work with grobs that aren't there yet necessitates some sort of check,
so you don't get errors.)

I don't see any problem with the engraver here.

I did notice something which I can't account for.  You'll notice that
`frameEngraver4.ly' uses a variable "event-drul".  When a frame-event
is heard (created by \frameStart/\frameEnd), that event is stored in
this variable.  I then use the contents of this variable to determine
what to do: start a frame, end a frame, create a stub (for spacing) at
the beginning, create a stub at the end.

This doesn't work here, and I don't know why.  The version of the
engraver I last sent you substitutes a system of setting variables
called "stop?" and "go?" to control the steps.  It works.  BUT... when
you substitute the earlier method, it doesn't work. I've attached this
simple substitution so you can see what I mean. (The "ignoring weird
minimum distance" stems from the fact that a FrameStub has nothing in
its 'elements array--it should contain the last grobs within the
frame--this info is used for assessing its dimensions).

[If anyone reading this knows how to get the event-storing method how
to work, please let me know.  This seems to be a better technique.]

I hope this is useful...

-David

Attachment: frameEngraver_why_wont_this_work.ly
Description: Binary data


reply via email to

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