lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AccidentalCautionary in NullVoice


From: Dan Eble
Subject: Re: AccidentalCautionary in NullVoice
Date: Tue, 19 Aug 2014 22:04:05 -0400

On Aug 18, 2014, at 20:07 , Dan Eble <address@hidden> wrote:

> It seems to me that what I am looking for is not a per-voice accidental 
> style, but a per-staff accidental style using a subset of the voices as 
> input.  I *do* want the extra accidentals produced by the interaction between 
> two NullVoices when the Accidental_engraver is in the Staff, but I *don’t* 
> want interference from the part combiner’s voices in the same staff.

I’ve gotten really close by interposing a context between Staff and Voice and 
putting the Accidental_engraver there.  This generates a lot of warnings, 
though.
— 
Dan

\version "2.18.0"
\language "english"

soprano = \relative c' { cs4-\mf e g e | cs cs c'2 | cs4 cs c2 | c4 g c2 }
alto = \relative c' { a4-\f cs ef cs | a a'' c,,2 | a''4 a c,,2 | c4. bf8 c2 }
words = \lyricmode { _ _ _ _ _ _ _ _ _ _ Glo -- ri -- a }

\layout {
  \context {
    \Staff
    \accidentalStyle modern-voice-cautionary
    \accepts "SpecialVoiceGroup"
  }

  \context {
    \name "SpecialVoiceGroup"
    \type "Engraver_group"
    \accepts "SpecialVoice"
    \consists "Accidental_engraver"
  }

  \context {
    \name "SpecialVoice"
    \type "Engraver_group"

    \consists "Rhythmic_column_engraver"
    \consists "Note_heads_engraver"
    \omit NoteHead

    \consists "Dynamic_engraver"
    \consists "Dynamic_align_engraver"
  }
}

RemoveDynamicEngravers = \with {
  \remove "Dynamic_engraver"
  \remove "Dynamic_align_engraver"
}

\score {
  \new Staff <<
    \set Staff.instrumentName = "<< \\\\ >>"
    \dynamicUp \soprano
    \\
    \dynamicDown \alto
  >>
}

\score {
  \new Staff <<
    \set Staff.instrumentName = "partcombine"
    \partcombine \soprano \alto
  >>
}

\score {
  <<
    \new Staff \with {
      \remove "Accidental_engraver"
    } <<
      \set Staff.instrumentName = "special"

      \new Voice = "one" \with {
        \RemoveDynamicEngravers
      }
      \new Voice = "shared" \with {
        \RemoveDynamicEngravers
      }
      \new Voice = "two" \with {
        \RemoveDynamicEngravers
      }
      \partcombine \soprano \alto

      \new SpecialVoiceGroup <<
        \new SpecialVoice { \dynamicUp \soprano }
        \new SpecialVoice { \dynamicDown \alto }
      >>

      \new NullVoice = "soprano" { \soprano }
      \new NullVoice = "alto" { \alto }

      \new Lyrics { \lyricsto "soprano" \words }
    >>
  >>
}




reply via email to

[Prev in Thread] Current Thread [Next in Thread]