I don't know a "good" way. A hacky way is to place a hidden markup or note within the measure so that it forces the spacing to be what you want.
-- Phil Holmes ----- Original Message ----- From: N. Andrew Walsh To: lilypond-user Sent: Wednesday, February 17, 2016 11:44 AM Subject: Fwd: Ossia Piano Staff Whoops. forgot to reply-all. Here's my reply to Andrew Bernard's message. UPDATE: I've discovered the \omit Staff.TimeSignature command, so now the time signature is properly hidden. My last issue with this score is controlling staff spacing within systems on an explicit per-measure basis (ie, set an override at specific points to change spacing allowed for the empty staves). Is there a way to do this? All the instructions I find in the NR are for the Staff or Score level, which would change them for the whole piece. I only want them changed at specific sections. Is there a way to do that? Cheers, A ---------- Forwarded message ---------- From: N. Andrew Walsh <[email protected]> Date: Wed, Feb 17, 2016 at 12:14 PM Subject: Re: Ossia Piano Staff To: Andrew Bernard <[email protected]> Hi Andrew, thanks for pointing the errors out. I realized it wasn't compiling after I sent it out. I found a workaround by using a \context block, like this: \version "2.19.36" VioloncelloMusic = \new Voice \relative c { \clef bass \time 4/8 \key es \major << { g8.\( f16 es8 g16--( g--) | as4 es8 as | g8. f16 es8 es | f2\) | g4\( es8 g | as4 es8 as | g4 f | es2\) | bes'4\( es, | c' es,8 es | bes'4 es,8 es | f4.\) f8\( | %% Bar 95 g8. f16 es8 g | as4 es8 as | g4 f | es2\) | } \context PianoStaff = "ossia" \with { \remove "Time_signature_engraver" } << { \startStaff \clef treble \hideNotes | es2^\markup { ossia } \omit PianoStaff.SpanBar | \omit Staff.BarLine \repeat unfold 15 { es2 } \undo \omit Staff.BarLine \undo \omit PianoStaff.SpanBar | \stopStaff } { \startStaff \clef bass \hideNotes | es2 \omit PianoStaff.SpanBar | \omit Staff.BarLine \repeat unfold 15 { es2 } \undo \omit Staff.BarLine \undo \omit PianoStaff.SpanBar | \stopStaff } >> >>%% Bar 99 (end of ossia piano) } \score { \new Staff = "Staff_violoncello" << \override Staff.InstrumentName.self-alignment-X = #LEFT \set Staff.instrumentName = \markup \left-column \abs-fontsize #10 { Violoncello } \set Staff.midiInstrument = #"cello" \VioloncelloMusic >> } Some issues with this: * sticking an ossia piano part into the cello music is an ugly hack, but I have two simultaneous voices in each hand of the piano, forcing me to use << { } \\ { } >> blocks. These blocks break at %% Bar 95, and I didn't know how to have the \context block extend across them. * I can't figure out how to get the time signatures not to appear. Any tips how to improve this? Cheers, A On Wed, Feb 17, 2016 at 11:44 AM, Andrew Bernard <[email protected]> wrote: Hi Andrew, Can you send something that compiles? global is missing. Also, I don't kno who wyou compile the version line - it's a syntax error to have an equals sign. Better if you can make an MWE - minimal working example, for the list. Andrew On 17 February 2016 at 21:30, N. Andrew Walsh <[email protected]> wrote: > Hi List, > > also, in the same ensemble piece I mentioned in the last message, I'd like > to have a passage in the piano part that also includes such "empty" staves > for graphics, but only within one section. I'm trying to apply the NR > instructions for ossia staves, and it's apparently not working. Here's what > I have: > > \version = "2.19.36" > > KlavierMusicUpper = \new Voice \relative c'' { > \clef treble > R1*5/8 | > \time 3/8 > R1*3/8 | > \time 4/8 > s2*127 | %% all the music omitted for brevity > } > > KlavierMusicLower = \new Voice \relative c'' { > \clef treble > R1*5/8 | > \time 3/8 > R1*3/8 | > \time 4/8 > s2*127 | %% here too. Just imagine it's full of passage-work or something > } > > KlavierOssiaUpper = \new Voice \relative c'' { > \clef treble > \time 5/8 > s4 s s8 | > \time 3/8 > s4. | > \time 4/8 > s2*82 | \hideNotes es2 | \omit Staff.BarLine \repeat unfold 14 { es2 } > \unHideNotes \undo \omit Staff.BarLine | > s2*30 | %% End of piece, Bar 129 > > } > > KlavierOssiaLower = \new Voice \relative c { > \clef bass > \time 5/8 > s4 s s8 | > \time 3/8 > s4. | > \time 4/8 > s2*82 | \hideNotes es2 | \omit Staff.BarLine \repeat unfold 14 { es2 } > \unHideNotes \undo \omit Staff.BarLine | > s2*30 | %% End of piece, Bar 129 > > } > > \score { > > \new Staff = "Staff_violoncello" << > \override Staff.InstrumentName.self-alignment-X = #LEFT > \set Staff.instrumentName = \markup \left-column \abs-fontsize #10 > { Violoncello } > \set Staff.midiInstrument = #"cello" > \global \VioloncelloMusic > >> > \new PianoStaff = "Staff_klavier" << > \override PianoStaff.InstrumentName.self-alignment-X = #LEFT > \set PianoStaff.instrumentName = \markup \left-column { > \abs-fontsize #10 \line { Piano } } > \new Staff = "pianoupper" << > \global \KlavierMusicUpper \systembreaks > >> > \new Staff = "pianolower" { > \global \KlavierMusicLower > } > > >> > \new PianoStaff = "ossia" << > \new Staff = "ossiaupper" \with { > \remove "Time_signature_engraver" > \hide Clef > \magnifyStaff #2/3 > \RemoveAllEmptyStaves > } { > \global \KlavierOssiaUpper > } > \new Staff = "ossialower" \with { > \remove "Time_signature_engraver" > \hide Clef > \magnifyStaff #2/3 > \RemoveAllEmptyStaves > } { > \global \KlavierOssiaUpper > } > >> >>> > \layout { > \context { > \Staff \RemoveEmptyStaves > } > } > \midi {} > \header { > opus = ##f > } > > } > -------------- > NB: "\global" is a variable that just sets stuff like time signature format, > initial key/time signature, etc.) > > When I try to compile, Lily throws an error that \RemoveAllEmptyStaves is an > "unrecognized escaped string" and pukes. > > What am I formatting wrong here? > > Cheers, > > A > > > _______________________________________________ > lilypond-user mailing list > [email protected] > https://lists.gnu.org/mailman/listinfo/lilypond-user > ------------------------------------------------------------------------------ _______________________________________________ lilypond-user mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-user
_______________________________________________ lilypond-user mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-user
