[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Lilypond-auto] Issue 2235 in lilypond: \partcombine: accidental rem
From: |
lilypond |
Subject: |
Re: [Lilypond-auto] Issue 2235 in lilypond: \partcombine: accidental reminders of first part lost |
Date: |
Tue, 06 Jan 2015 05:45:17 +0000 |
Comment #5 on issue 2235 by address@hidden: \partcombine: accidental
reminders of first part lost
https://code.google.com/p/lilypond/issues/detail?id=2235
Here is a workaround that doesn't require adding things to the parts
themselves. (The final two bars are the same as the first example above.)
\version "2.19.15"
\language "english"
soprano = \relative c' { cs4-\mf e\< g\! e8( f) | cs4 cs c'2-\fermata |
cs4 cs c2 | c4 g cs2~ | cs4 b8( c) d4 r | bf1 | b! }
alto = \relative c' { a4-\f cs\< ef cs\! | a a'' c,,8 d( e) f-\fermata |
a'4 a c,,2 | c4. bf8 c2 | g'4 g a4. g8 | g1 | b }
words = \lyricmode { _ _ _ _ _ _ _ _ _ _ Glo -- ri -- a }
\layout {
\context {
\Staff
\accepts "VoiceGroup"
\accidentalStyle voice
printPartCombineTexts = ##f
}
\context {
\name "VoiceGroup"
\type "Engraver_group"
\description "A group of voices."
\accepts "Voice"
}
\context {
\VoiceGroup
\accepts "PartcombineWorkAroundVoice"
}
\context {
\name "PartcombineWorkAroundVoice"
\type "Engraver_group"
\description "A voice involved in working around deficiencies of
the part combiner."
% Need note heads so that accidentals appear, but hidden so that
% they don't affect the position of heads in other voices.
\consists "Note_heads_engraver"
\hide NoteHead
% Ties affect accidental engraving.
\consists "Tie_engraver"
\omit Tie
\consists "Dynamic_engraver"
\consists "Dynamic_align_engraver"
}
}
RemoveDynamicEngravers = \with {
\remove "Dynamic_engraver"
\remove "Dynamic_align_engraver"
}
killDynamics =
#(define-music-function
(parser location music) (ly:music?)
(music-filter
(lambda (m) (not (or
(eq? (ly:music-property m 'name) 'AbsoluteDynamicEvent)
(eq? (ly:music-property m 'name) 'CrescendoEvent)
(eq? (ly:music-property m 'name) 'DecrescendoEvent)
)))
music))
\score {
\new Staff <<
\set Staff.instrumentName = "<< \\\\ >>"
\dynamicUp \soprano
\\
\dynamicDown \alto
>>
}
\score {
\new Staff <<
\set Staff.instrumentName = "partcombine"
% warning: "Two simultaneous absolute-dynamic events"
\partcombine \soprano \alto
>>
}
\score {
<<
\new Staff \with {
\remove "Accidental_engraver"
} <<
\set Staff.instrumentName = "work-around"
\new Voice = "one" \with \RemoveDynamicEngravers {}
\new Voice = "shared" \with \RemoveDynamicEngravers {}
\new Voice = "two" \with \RemoveDynamicEngravers {}
% kill dynamics to allow combining differently spanned parts
\partcombine \killDynamics \soprano \killDynamics \alto
\new VoiceGroup \with {
\consists "Accidental_engraver"
} <<
\new PartcombineWorkAroundVoice { \dynamicUp \soprano }
\new PartcombineWorkAroundVoice { \dynamicDown \alto }
>>
\new NullVoice = "soprano" \soprano
\new NullVoice = "alto" \alto
>>
\new Lyrics { \lyricsto "soprano" \words }
>>
}
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Lilypond-auto] Issue 2235 in lilypond: \partcombine: accidental reminders of first part lost,
lilypond <=