Carl Sorensen wrote:
> As I read Ross, the 1/4 staff-space adjustment is what one
> would use if in the midst of a note cluster (perhaps
> limited to a measure according to the text explaining
> Example 1 and Example 2)  that contains the a, b, c, and
> d, so we need to keep the stem progression moving.  If the
> cluster only contains b, c, and d, then 2 1/2 works for
> the b.  And if the cluster only contains a, b, and c, then
> 3 works for all three.
>
> But maybe the suggested compromise gets it so close, with
> so little difficulty, that we should just implement it and
> be done.

It certainly is tempting.  I've attached another file
showing the Ross examples, comparing his suggested
adjustments with my suggested compromise.  The Ross
suggestions remain superior, but unquestionably trickier,
since his adjustments depend on the neighboring pitches.
But my compromise would still be an improvement on the
current default, and wouldn't require any fancy parser
gymnastics.

So my ideal preference is to side with Ross, and if you want
to cut your teeth on that, you'd totally make my day.  But
if it's too tricky for now, I'd vote to do the compromise,
since it's still better than what we have now; and the fancy
Ross stems can always be coded at a later time.  I'll leave
it up to you.

One note of caution: as I understand it, the discussion here
*only* applies to non-flagged non-beamed stems.  Flags
require a certain minimum stem height I think, so be sure
not to jeopardize that.  Also, Kurt Stone makes a good point
that multiple tremolo beams on a single stem may prohibit
stems from being shortened; the stem should always extend
slightly past the furthest tremolo beam.

- Mark


      
\version "2.13.18"

makeRed = {
  \once \override Staff.TextScript #'color = #red
  \once \override Staff.NoteHead #'color = #red
  \once \override Staff.Stem #'color = #red
}

\layout {
  \context {
    \Score
    \override TimeSignature #'stencil = ##f
    \override TextScript #'font-size = #-2
  }
}

standard = \relative d'' {
  << {
    d4^"2½" b^" 3"
      \once \override Stem #'length = #5 c^"2½" d^"2½"
  } \\ {
    f,1
  } >>
  << {
    b4^" 3" a^"3½" b^" 3" f^"3½"
  } \\ {
    d1
  } >>
}

optional = \relative d'' {
  << {
    d4^"2½" \once \override Stem #'length = #5 \makeRed b^"2½"
      \once \override Stem #'length = #5 c^"2½" d^"2½"
  } \\ {
    f,1
  } >>
  << {
    b4^" 3" \once \override Stem #'length = #6 \makeRed a^" 3"
      b^" 3" f^"3½"
  } \\ {
    d1
  } >>
}

lilyDefault = \relative d'' {
  << {
    d4^"2½" b^" 3" \makeRed c^" 3" d^"2½"
  } \\ {
    f,1
  } >>
  << {
    b4^" 3" a^"3½" b^" 3" f^"3½"
  } \\ {
    d1
  } >>
}

compromise = \relative d'' {
  << {
    d4^"2½" b^" 3"
      \once \override Stem #'length = #5.5 \makeRed c^"2¾" d^"2½"
  } \\ {
    f,1
  } >>
  << {
    b4^" 3" \once \override Stem #'length = #6.5 \makeRed a^"3¼"
      b^" 3" f^"3½"
  } \\ {
    d1
  } >>
}

<<
  \new Staff {
    \set Staff.instrumentName =
      \markup \center-column { "Ted Ross" "standard" }
    \standard
  }
  \new Staff {
    \set Staff.instrumentName =
      \markup \center-column { "Ted Ross" "adjusted" }
    \optional
  }
  \new Staff {
    \set Staff.instrumentName =
      \markup \center-column { "LilyPond" "default" }
    \lilyDefault
  }
  \new Staff {
    \set Staff.instrumentName =
      \markup \center-column { "suggested" "compromise" }
    \compromise
  }
>>
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to