lilypond-auto
[Top][All Lists]
Advanced

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

Re: [Lilypond-auto] Issue 3560 in lilypond: Completion_heads_engraver wi


From: lilypond
Subject: Re: [Lilypond-auto] Issue 3560 in lilypond: Completion_heads_engraver with \scaleDurations
Date: Sun, 29 Sep 2013 10:35:09 +0000


Comment #1 on issue 3560 by address@hidden: Completion_heads_engraver with \scaleDurations
http://code.google.com/p/lilypond/issues/detail?id=3560

I have my problems taking issue 1772 seriously at the same time as this issue.

The fundamental problem that we are dealing with is that scaled durations are used for multiple purposes. One purpose is to have basically unmarked tuplets where the displayed timing is a differently scaled version of the real timing.

Another purpose is to juggle with the onset of the next following note/barline/whatever while not actually wanting to change the duration of the note as such.

How do we deal with this in Midi? It should give us a pointer into what we want the completion engravers to do.

It also definitely means that either one or the other use cases _will_ break when using Completion_heads_engraver. Looking at the code, it seems like it makes a distinction between scaled durations that make things shorter, and scaled durations that make things longer. I'm not sure of the results (and changing the code around partly lead to infinite loops and other stuff), but it's a reasonable guess that the intent is to have the "scale the durations" interpretation when the factor is smaller than 1 and the "shift next onset but keep the duration" interpretation when the factor is larger than 1.

I haven't checked how well this theory holds up in practice.

However, it is worthwhile to note that \times/\tuplet does by far the bulk of its work by scaling durations, with tuplet brackets just being the topping on the scaled results (probably not even visible to Midi).

So with the current setup, we might not have much of an option other than interpreting scaled durations _exclusively_ as scaled durations and nothing else, and in that case, most of the examples of issue 1772 are invalid: you should work with a combination of unscaled note and subsequent or parallel \skip instead if you want Midi interpretation and/or completion engravers to have a different view.

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings



reply via email to

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