Edward Neeman <edward.nee...@gmail.com> writes: > Thanks David, that makes a lot of sense! > > With your explanation in mind I’m thinking the current implementation in best.
Well, the problem really is finding an implementation that does not cause surprises. One could rather brutally restore all settings made inside of a \grace group that are subject to \grace settings. Those would be (currently) (define general-grace-settings `((Voice Stem font-size -3) (Voice Flag font-size -3) (Voice NoteHead font-size -3) (Voice TabNoteHead font-size -4) (Voice Dots font-size -3) (Voice Stem length-fraction 0.8) (Voice Stem no-stem-extend #t) (Voice Beam beam-thickness 0.384) (Voice Beam length-fraction 0.8) (Voice Accidental font-size -4) (Voice AccidentalCautionary font-size -4) (Voice Script font-size -3) (Voice Fingering font-size -8) (Voice StringNumber font-size -8))) (define-public score-grace-settings (append `((Voice Stem direction ,UP) (Voice Slur direction ,DOWN)) general-grace-settings)) So basically at the end of the \grace group, rewind to what was there before. However, the property lists are per-Grob, not per-property, so either one would have to restore the complete state of all the listed Grobs, or one would have to filter the lists into components relating to the desired properties and unrelated components, and reassemble the respective lists afterwards. Probably easier to just restore the complete Grob definitions. Would people be surprised if a color override of a Beam was reverted at the end of a \grace group? I don't know. -- David Kastrup _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user