2018-02-11 2:08 GMT+01:00 Kieren MacMillan <[email protected]>:
> Hi Thomas,
>
> Thanks for the quick response.
>
>> DynamicText is caused, but you can't nuke the stencil via
>> \omit (which would be stencil-override).
>
> Ah.
>
>> But you could do it later.
>> Applying
>> \override DynamicText.after-line-breaking =
>>  #(lambda (grob) (ly:grob-set-property! grob 'stencil '()))
>> will work, though.
>
> That is like \hide rather than \omit, no?
> (At least that's how it _appears_ to behave when I apply it to my non-minimal 
> "real world" score.)
>
> For now, this works fine — I'm just trying to blank out all dynamics, so I 
> can print out a score and pencil in dynamics on the score, away from the 
> computer — but I am curious if there's a real "stencil nuke" (in case I ever 
> need to do it in an edition-engraver tweak, for example).



Well, not a real "stencil nuke", but in this case you could use
X-offset and trash the stencil as a side-effect.

At least:
{
  \override DynamicText.X-offset ={
  \override DynamicText.X-offset =
    #(lambda (grob) (ly:grob-set-property! grob 'stencil '()))
  c'1
    -\tweak before-line-breaking
      #(lambda (grob)
        (ly:grob-set-property! grob 'stencil
          (grob-interpret-markup grob "very long dynamic")))
    -#(make-music 'AbsoluteDynamicEvent)
}
    #(lambda (grob) (ly:grob-set-property! grob 'stencil '()))
  c'1
    -\tweak before-line-breaking
      #(lambda (grob)
        (ly:grob-set-property! grob 'stencil
          (grob-interpret-markup grob "very long dynamic")))
    -#(make-music 'AbsoluteDynamicEvent)
}
seems to work.
Not tested beyond this example, though.

Best,
  Harm

_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to