[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Issue 34 in lilypond: Grace synchronization
From: |
Keith OHara |
Subject: |
Re: Issue 34 in lilypond: Grace synchronization |
Date: |
Wed, 20 Jul 2011 22:10:57 +0000 (UTC) |
User-agent: |
Loom/3.14 (http://gmane.org/) |
<lilypond <at> googlecode.com> writes:
> Comment #14 on issue 34 by address@hidden: Grace synchronization
> http://code.google.com/p/lilypond/issues/detail?id=34
>
> However, in my eyes we need to distinguish the events at each moment.
> Basically, we have three different types of events:
>
> 1) events that should be processed at the very beginning of each moment
> (before grace notes are handled)
> 2) grace notes (i.e. notes that appear before the real content of the
> moment), possibly also including some \set command, which should not mess
> up things
> 3) normal notes
>
> In other words, we need to find a way to process key/clef/barlines (in
> particular all SetEvents) etc. before all grace notes. One approach might
> be to assign a moment like 0G-inf to them, so they will be processed before
> all grace notes.
I think that is a promising approach. I looked through the code thinking about
this issue two days ago, and began to look for a way to default-initialize the
grace_part_ of a Moment to something that would sort before any defined value
of grace_part_. I do not know enough Scheme to know if Rational grace_part_ =
-1 / 0 is guaranteed to work as -inf.
It looks like most events should have effectively -inf for the grace_part_ of
their timing.
The new method would need to take over the job that create_grace_fixup_list()
tries to do. I am still figuring out how the list is created.