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: Sat, 05 Oct 2013 12:18:38 +0000


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

What about this one? The actual implementation is missing and I got a headache so if anybody else wants to actually implement it go ahead, but it seems to make it reasonably possible to cover all discussed either/or use cases (of course failing the last "a little of both" use case Pál presented) while retaining the existing behavior by default.
--- a/scm/define-context-properties.scm
+++ b/scm/define-context-properties.scm
@@ -215,6 +215,36 @@ and @samp{bracketed}.")
 symbol go, measured in half staff spaces from the center of the
 staff.")
(completionBusy ,boolean? "Whether a completion-note head is playing.")
+     (completionFactorUnit ,exact-rational?
+"When @code{Completion_heads_engraver} and
address@hidden have to split a note or rest with a
+scaled duration, the scaled duration is interpreted as a long
+note (like @code{R1*8} would) whenever the scale factor is an integer
+multiple of @code{completionFactorUnit} rather than as a scaled
+note (like @code{\scaleDurations 2/3 @{ c8 c c @}} would).
+
+For long notes, the resulting scale factor of the produced notes
address@hidden@code{1} and the notes visually take up the full duration, in
+the latter case it is the original scale factor and the notes take up
+the same total visual duration as before the splitting.
+
+The default value of @code{1} will interpret integral scale factors as
+long notes, and non-integral scale factors (like produced by most
+tuplets) as scaled notes.
+
+When using @code{\scaleDurations} with an integer factor, setting
address@hidden to this factor may be needed to avoid
+having the completion engravers interpret some durations as long
+rather than scaled notes.
+
+In contrast, when using durations like @code{c1*9/8*3} in odd meters,
+setting a value of @code{9/8} will consider most tuplets scaled notes
+and keep the scale factor even when splitting them while correctly
+interpreting whole measure multiples as long notes.
+
+Setting @code{completionFactorUnit} to @code{0} will interpret all
+durations as scaled notes, setting it to @code{#f} will interpret all
+as long notes.")
      (completionUnit ,ly:moment? "Sub-bar unit of completion.")


--
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]