On Monday 11 October 2004 00.37, Han-Wen Nienhuys wrote: > [EMAIL PROTECTED] 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 [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/lilypond-devel