On Monday 11 October 2004 00.37, Han-Wen Nienhuys wrote:
address@hidden writes:
> be an appoggiatura, where 3 notes take 1/8 time from the main note,
could
> also be the very theoretical case
> { \grace {\times 2/3 {b16[ b b]} b16[ b]} b8 }
> which would mean that the first 3 notes are a bit faster.
>
> I don't think I have never seen grace note tuplets in reality, & don't
> know if they really exist. I just assumed that they do.
The code involving logical placement of grace notes is the most
hairiest part of LilyPond, and although I did write it, I don't fully
understand it myself. I'm glad it works at all, so I don't feel much
like solving problems like
Ah, so this is a future bug. This hairyness thing leads to another issue
that
has been in my head for quite a while now:
Lately, there has been a drastic reduction of the # of lily bugs that
are not
just related to layout (such as spacing, collision etc), but rather do
more
discrete logical mistakes when placing the music. Like setting incorrect
bar
numbers, hiding things that should be visible, etc.
Anyway, among the remaining bugs of the logical/discrete kind, the set
of bugs
related to grace notes is now quite outstanding, both in number of bugs
and
in number of annoyances on the mailing lists. I would therefore suggest
that
we raise the priority for fixing (rewriting?) the system of grace note
timing. Given, of course, that the lilypond codebase now is mature enough
handle a new grace system nicely.
From a users point of view, I think it would feel more logical if grace
notes
would be placed at (infinitesimally) positive time relative the
beginning of
the beat; it feels strange that the beginning of a beat in some sense is
negative sometimes (though it's just infinitesimally). I have an idea of
another timing system that would feel more logical: We could use a metric
similar to the following (in terms of non-standard analysis).
time: 0 0+w-w*w*3/8 0+w-w*w*2/8 0+w-w*w*1/8 0+w 1/4+w 1/2
1/2+w
{ | \clef G \grace {c8[ d e]} e4 d \clef F
c }
, where w is a fix, positive, infinitesimal number. Does this make any
sense?
Basically, each moment in time would be on the form (Q + w - w*w*P),
where Q
is a nonnegative rational and P is either a nonnegative rational or 1/w.
(I think I suggested something similar earlier, but didn't get any
feedback..
does it sound sensible to use this kind of system? I think it would
solve a
whole bunch of problems, the main one being the need to insert dummy skip
grace notes sometimes in orchestral music. Also I have a feeling that the
grace code could become a bit less hairy, but that's just a guess).
I am very aware that this is a post-2.4 thing :), my suggestion is that
it
could be placed on the todo for 3.0.
Erik
_______________________________________________
lilypond-devel mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/lilypond-devel