Urs Liska <u...@openlilylib.org> writes: > Hi, > > is it possible somehow to hook into the engraving process and color all > grobs that have been manually tweaked? > > In my library I have a 'draft mode'. All my functions or shorthands that > tweak the positioning have a counterpart in draft mode. The draft mode > functions basically call the normal functions and add coloring to them. > This way I can compile a score in draft mode and immediately see where I > had to apply some manual interventions. > > While this is quite useful in the process of finishing a score (and also > to evaluate LilyPond's performance) it obviously only works with tweaks > applied through my custom functions. But it would only be _really_ > useful if I could highlight _all_ manual interventions. > Of course it isn't a viable solution to write such functions for any > tweak I'm applying so I thought if it would be possible to do such a > thing in a more fundamental way.
You could redefine \tweak but it is probably more reliable to use internals: > So would such a thing be possible, maybe in Scheme? > Or if that's not possible in Scheme would that be an interesting feature > request? \version "2.16.2" { c d e f \tweak #'font-size 3 g a b c } \layout { \context { \Score \consists #(make-engraver (acknowledgers ((grob-interface engraver grob source) (let ((ev (event-cause grob))) (if (and (ly:stream-event? ev) (pair? (ly:event-property ev 'tweaks))) (set! (ly:grob-property grob 'color) red)))))) } } This does not try to differentiate events into several grobs, so in this case, the whole note with stem and notehead will get colored even though just the notehead was tweaked. It is more cumbersome to pick out further details, so this is left as an exercise to the reader. -- David Kastrup _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user