I'm still working on the measure. Keith's solution works well, but when I fit it into my structure I get a beam-slope warning. Below is a "minimal" example, which is quite large, that prints just the one measure. The warning is written into the code.
* The initial e flat in the lower staff is an eighth note, and the stem needs to extend up beyond the 32nd note beams of the grace notes. How can I do that?
Thanks for the help so far.
\version "2.19.15"
\language "english"
staffUp = \change Staff = "upper"
staffDown = \change Staff = "lower"
graceOn = {
\teeny
\override Stem #'no-stem-extend = ##t
\override Stem #'length-fraction = #0.7
}
graceOff = {
\normalsize
\revert Stem #'no-stem-extend
\revert Stem #'length-fraction
}
global = {
\key bf \minor
\time 2/4
}
upperStaffTop = \relative c'' {
\clef bass
s2
}
upperStaffBottom = \relative c' {
}
lowerStaffTop = \relative c' {
\clef bass
\staffUp \stemDown af32 [ ( bf af gf \staffDown \stemNeutral
<<
{
\voiceTwo \stemUp ef8 ) ] ~ ef4
}
\new Voice {
\voiceOne
\scaleDurations 4/14 {
\staffDown
ef32 [ \( % warning: no viable initial configuration found:
% may not find good beam slope
\graceOn gf af bf df \staffUp \stemDown \clef treble ef gf af bf df ]
\stemUp ef gf af bf \graceOff
}
\stemNeutral df16^> ( [ bf ] ) \) r8
}
>>
}
lowerStaffBottom = \relative c {
bf2
}
%%
%% Below is boilerplate
%%
upperStaff = {
\clef treble
\global
<<
\new Voice { \voiceOne \upperStaffTop }
\new Voice { \voiceTwo \upperStaffBottom }
>>
}
lowerStaff = {
\clef bass
\global
<<
\new Voice { \voiceThree \lowerStaffTop }
\new Voice { \voiceFour \lowerStaffBottom }
>>
}
\score {
\new PianoStaff <<
\new Staff = "upper" \upperStaff
\new Staff = "lower" \lowerStaff
>>
\layout{
}
}