Yeah, that's what I settled on, too. It's exactly the sort of ugly hack I
wanted to avoid (putting invisible content into the score to force
presentation changes), but my lilypond-fu is weak :(

On Wed, Feb 17, 2016 at 1:36 PM, Phil Holmes <m...@philholmes.net> wrote:

> 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 <n.andrew.wa...@gmail.com>
> *To:* lilypond-user <lilypond-user@gnu.org>
> *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 <n.andrew.wa...@gmail.com>
> Date: Wed, Feb 17, 2016 at 12:14 PM
> Subject: Re: Ossia Piano Staff
> To: Andrew Bernard <andrew.bern...@gmail.com>
>
>
> 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 <andrew.bern...@gmail.com
> > 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 <n.andrew.wa...@gmail.com>
>> 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
>> > lilypond-user@gnu.org
>> > https://lists.gnu.org/mailman/listinfo/lilypond-user
>> >
>>
>
>
> ------------------------------
>
> _______________________________________________
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>
>
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to