On Sat, 23 Aug 2014 13:16:22 -0700, Dan Eble <[email protected]> wrote:
On Aug 23, 2014, at 08:03 , Dan Eble <[email protected]> wrote: I think I’m really close (again!) to getting modern-voice-cautionary accidentals with combined-part stems by defining a new accidental style that disregards the part combiner’s voices.
It looks to me like make-limited-accidental-rule limits the creation of accidentals to a particular context, but it seems the accidental engraver would still consider the history of pitches recently seen throughout the staff. Each context Staff, Voice, your previous SpecialVoiceGroup, keeps track of accidentals in a data structure called localAlterations. You might need to initialize it with \set SpecialVoiceGroup.localAlterations = #'() Your previous approach with the SpecialVoiceGroup seemed more promising, if that group includes only the separate voices for each part, and if you move the accidental_engraver to that group.
It appears that in some cases both a cautionary and a normal accidental are typeset. If just the normal accidentals were typeset, the output of the following example would be exactly what I want. Is this a bug?
In your latest code, the interaction between contexts and the setter routines is complicated, but as I understand it, the partcombine voices are still producing accidentals following the portion of the rule that was not restricted to NullVoice. That portion includes a rule to produce Cautionaries, but no rule for normal Accidentals. Those voices, made by partcombine, produce the cautionary (in black) because those voices didn't produce any normal accidentals. _______________________________________________ lilypond-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-devel
