On Thu, Jan 21, 2016 at 8:52 AM, David Kastrup <d...@gnu.org> wrote:

> Kevin Barry <barr...@gmail.com> writes:
>
>
> Reverting does not depend on whether the override happened in a \with
> expression or with an explicit \override.  However, the overrides in
> context definitions and \with expressions _accumulate_ on the stack
> while normal \override _replaces_ the topmost override.
>
> So if you want to get back a _previous_ context-specific value (many
> grob property values are just established as global defaults and are
> impervious to reverting) through reverting, you need to use
> \temporary\override instead of \override.
>
> > 2) check what the default value is in the internals manual and use
> > that as a value for an override
>
> If there _is_ a default value, reverting should get you there.
>
> Here is an example for accumulating overrides:
>
>
>
>
> --
> David Kastrup
>
>
Many thanks to Kevin and David Kastrup -

I was able to use "non-temporary" \overrides while being explicit about the
context. That is, I used
\revert StaffGroup.SpanBar.glyph-name
while using regular \overrides, and it worked like a charm.

Thanks again,

Ralph

-- 
Ralph Palmer
Brattleboro, VT
USA
palmer.r.vio...@gmail.com
% Ossia above and below the staves
\version "2.19.33"

\language "english"
#(set-global-staff-size 20)

upper =
\relative c' {  
  \key g \major
  \clef treble
  \time 4/4

  \override Score.NonMusicalPaperColumn.line-break-permission = ##f
  
  d4^"main staff" d e e |
  d4 d e e |
  d4 d e e |
  d4 d e e |
  d4 d e e |
  \break
  
  d4 d e e |
  d4 d e e |
  d4 d e e |  
  d4 d e e |
  d4 d e e |
  \break
  
  d4 d e e |
  d4 d e e |
  d4 d e e |
  d4 d e e |
  d4 d e e 
  \revert StaffGroup.SpanBar.glyph-name
  \bar "|." |  
}

lower =
\relative c' {  
  \key g \major
  \clef treble
  \time 4/4

  \override Score.NonMusicalPaperColumn.line-break-permission = ##f
  
  e4^"lower staff" e d d |
  e4 e d d |
  e4 e d d |
  e4 e d d |
  e4 e d d |
  \break
  
  e4 e d d |
  e4 e d d |
  e4 e d d |
  e4 e d d | 
  e4 e d d |   
  \break
  
  e4 e d d |
  e4 e d d |
  e4 e d d |
  e4 e d d |
  e4 e d d \bar "|." |
}

upperOssia =
\relative c'' {
  s1*5 |
  d4^"Facilité"_"upper ossia" e f g |
  d4 e f g |
  d4 e f g |
}


lowerOssiaA =
\relative c'' {
  s1*10
  \scaleDurations 4/3 {
    \set Timing.measureLength = #(ly:make-moment 4/3)
    g4^"Facilité"_"lower ossia" a b c
    g4 a b c
    g4 a b c
  }
}

lowerOssiaB =
\relative c'' {
  s1*10
  \scaleDurations 4/3 {
    \set Timing.measureLength = #(ly:make-moment 4/3)
    c4 b a g
    c4 b a g
    c4 b a g
  }
}


% Ossia score

\score {
  \new StaffGroup 
  \with {
    \override SpanBar.glyph-name = #"!"
  }
  <<
    \new Staff 
    \with {
      \remove "Time_signature_engraver"
      fontSize = #-3
      \override StaffSymbol.staff-space = #(magstep -3)
      \override StaffSymbol.thickness = #(magstep -3)
    }
    << \upperOssia >>
    <<
      \new GrandStaff 
      \with {
        \override SpanBar.glyph-name = #"|"
      }
      <<
        \new Staff << \upper >>
        \new Staff << \lower >>
      >>
    >>
    <<
      \new GrandStaff 
      \with {
        \override SpanBar.glyph-name = #"|"
      }
      <<        
        \new Staff
        \with {
          \remove "Time_signature_engraver"
          fontSize = #-3
          \override StaffSymbol.staff-space = #(magstep -3)
          \override StaffSymbol.thickness = #(magstep -3)
          %firstClef = ##f
        }
        << \lowerOssiaA >>
        \new Staff
        \with {
          \remove "Time_signature_engraver"
          fontSize = #-3
          \override StaffSymbol.staff-space = #(magstep -3)
          \override StaffSymbol.thickness = #(magstep -3)
          %firstClef = ##f
        }
        << \lowerOssiaB >>
      >>
    >>
  >>
  
  \header {
    piece = "Ossia : single staff above; grand staff below, with different timing"
  }
  \layout {
    \context {
      \Score
      \remove "Timing_translator"
      \remove "Default_bar_line_engraver"
    }
    \context {
      \Staff \RemoveEmptyStaves
      \override VerticalAxisGroup.remove-first = ##t
    }
    \context {
      \Staff
      \consists "Timing_translator"
      \consists "Default_bar_line_engraver"
    }
  }
  %  \midi {}
}

Attachment: multiOssia.pdf
Description: Adobe PDF document

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to