[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Issue 34 in lilypond: Grace synchronization
From: |
lilypond |
Subject: |
Re: Issue 34 in lilypond: Grace synchronization |
Date: |
Thu, 21 Jul 2011 09:10:57 +0000 |
Comment #17 on issue 34 by address@hidden: Grace synchronization
http://code.google.com/p/lilypond/issues/detail?id=34
Comment by Keith O'Hara on bug-lilypond:
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.