On Dec 2, 2012, at 3:01 PM, Keith OHara <k-ohara5...@oco.net> wrote:
> Paul Morris <paul <at> paulwmorris.com> writes: > >> For greater flexibility, would it make sense for PrintKeyCancellation to >> have 3 options instead of 2? >> 1. show key cancellations >> 2. hide key cancellations, except C major / A minor >> 3. hide all key cancellations >> > Maybe it would have, but we have gotten used to the simple true/false, which > does the right thing for most situations. > > Option number 3 can be had most simply with > >> \override Staff.KeyCancellation #'stencil = ##f > > but it looks like you wrote code that restores the 'stencil for > anything that answers to the "key-signature-interface" > >> ((key-signature-interface engraver grob source-engraver) >> (ly:grob-set-property! grob 'stencil >> (make-circle-stencil .7 .3 #f)))))) > > You can stop the key cancellation by some other means as Harm suggested, > or change your code to stencil KeySignatures only. That makes sense. Reading through the docs I haven't been able to figure out how to do this. If anyone has suggestions or pointers, I would appreciate it. >From what I could tell the Key_engraver engraves both signatures and their >cancellations, and I couldn't see how (or whether) it knows which one it's >engraving, or how one might replicate that with custom Scheme code. Maybe one >would need to hook into the code at a higher step in the order of operations, >where the difference between signatures and cancellations was still accessible? In any case I can use \override Staff.KeyCancellation #'break-visibility = ##(#f #f #f) but it would be nice to know the better way to do it. Thanks again, -Paul _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user