lilypond-user
[Top][All Lists]
Advanced

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

Re: triplet bracket looks different


From: Trevor Bača
Subject: Re: triplet bracket looks different
Date: Fri, 18 Jan 2008 10:01:18 -0600

On Jan 18, 2008 3:15 AM, Ole Schmidt <address@hidden> wrote:
Dear All,

I recently discovered happily "tupletFullLength = ##t" and
"tupletFullLengthNote = ##t"
Is it normal that the right edge of the tuplet brackets ends always
at a different point (as you can see in the attached jpg)?


Hi Ole,

I think you're right that there's a (hard to detect) bug.

I'll review the expect behaviors here for the list.

(Valentin, the example here is too big for the tracker ... I'll cut down to something minimal later today.)



The basic principle behind tupletFullLength[Note] (as I understand it):

Turn the context setting tupletFullLength on to ... well, give tuplet brackets their full length. Vanilla tuplet brackets end just at the right edge of the tuplet-final note; full-length tuplet brackets, on the other hand, extend farther to the right. How much farther to the right do full-length tuplet brackets extend than vanilla tuplet brackets?

The answer to this question is determined by a second, companion context setting named tupletFullLengthNote.

Turn the context setting tupletFullLengthNote on to make full-length tuplet brackets cover *all nonrhythmic notation right up until the following note*; turn tupletFullLengthNote off to make full-length tuplet brackets cover *only the whitespace until the next bit of notation ... be it a clef, time signature, key signature, or another note*.

In other words:

  tupletFullLength = ##t, tupletFullLengthNote = ##t ==> tuplet bracket covers clefs and stuff
  tupletFullLength = ##t, tupletFullLengthNote = ##f ==> tuplet bracket does *not* cover clefs and stuff

So we can think of tupletFullLengthNote as a type of *greediness* modifier on tupletFullLength.

(And note that tupletFullLengthNote only makes sense when tupletFullLength = ##t.)



So ...

Running a test, we get the visual results attached to this mail (better to just look at the png).

%%% BEGIN FULL-LENGTH-NOTE DISCREPANCY %%%

\version "2.11.34"

\layout { ragged-right = ##t }

\context Score = "test" \with {
   \override NonMusicalPaperColumn #'line-break-system-details =
   #'((alignment-offsets . (0 -16)))
} <<
   \set Score.proportionalNotationDuration = #(ly:make-moment 1 24)
   \override Score.TupletBracket #'direction = #up
   \override Score.TupletBracket #'staff-padding = #2
   \context Staff = "second" {
      \time 2/4
      \set tupletFullLength = ##t
      \set tupletFullLengthNote = ##t
      \times 2/3 {
         c'4
         \once \override TextScript #'extra-offset = #'(4.85 . 0.5)
         \once \override TextScript #'color = #red
         c'8 ^ \markup { * }
      }
      \times 2/3 { c'4 c'8 }
      |
      \clef bass
      \times 2/3 {
         c'4
         \once \override TextScript #'extra-offset = #'( 4.4 . 0.5)
         \once \override TextScript #'color = #red
         c'8 ^ \markup { * }
      }
      \times 2/3 { c'4 c'8 }
      |
      \time 1/4
      \times 2/3 { c'4 c'8 }
   }
   \context Staff = "third" {
      \time 2/4
      \set tupletFullLength = ##t
      \set tupletFullLengthNote = ##f
      \times 2/3 {
         c'4
         \once \override TextScript #'extra-offset = #'( 4.65 . 0.5)
         \once \override TextScript #'color = #red
         c'8 ^ \markup { * }
      }
      \times 2/3 { c'4 c'8 }
      |
      \clef bass
      \times 2/3 {
         c'4
         \once \override TextScript #'extra-offset = #'(4 . 0.5)
         \once \override TextScript #'color = #red
         c'8 ^ \markup { * }
      }
      \times 2/3 { c'4 c'8 }
      |
      \time 1/4
      \times 2/3 { c'4 c'8 }
   }
>>

%%% END %%%



The png shows tupletFullLengthNote = ##t (the default) on the top staff;

The png also shows tupletFullLengthNote = ##f (nondefault) on the bottom staff.



The behavior is exactly as I would expect *just before clefs and time signatures*.

But the behavior is ever-so-slightly erroneous *just before normal gaps between notes*.

I've marked the normal gaps between notes with red asterisks. The asterisks center over the problem gaps.



CONCLUSION: I think the answer to your question is that tupletFullLengthNote should make *no difference* between "normal" notes (ie, notes that do not have any intervening nonrhythmic material like clefs and time signatures); in other words, imo at least, tupletFullLengthNote should only matter when there is intervening nonrhythmic material. But, alas, we see that this is not truly case.

I'll extract a minimal example later today and Valentin can judge if it belongs in the tracker.



 

--
Trevor Bača
address@hidden

Attachment: full-length-note-discrep.png
Description: PNG image


reply via email to

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