lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: fingering


From: David Kastrup
Subject: Re: fingering
Date: Mon, 21 Jan 2019 22:23:10 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

Aaron Hill <address@hidden> writes:

> This variation works:
>
> %%%%
> \version "2.19.82"
> { \set fingeringOrientations = #'(left)
>   \override Fingering.stencil = #(lambda (grob)
>     (ly:make-stencil '() '(0 . 0) '(0 . 0)))

That's just #point-stencil .

>   <g'-2 c''-4> }
> %%%%
>
> Here we have a valid, albeit empty, stencil.  This bypasses the
> programming error.
>
> ----
>
> Ignoring the programming error, there is another issue with how \omit
> * behaves.  Consider the following:
>
> %%%%
> \version "2.19.82"
>
> circledFingerStil = #(lambda (grob)
>   (circle-stencil (ly:text-interface::print grob) 0.1 0.1))
> cFS = \tweak stencil \circledFingerStil \etc
>
> { \omit Fingering
>   <g'-2 c''-\cFS-4> }
> %%%%
>
> Using \omit Fingering is supposed to eliminate Fingering grobs until
> it is \undone.  The problem is that \tweak also modifies the stencil,
> cancelling out the effect of the \omit.

I fail to see the problem.  You specify a specific stencil explicitly
not referring to the original definition and get it.

If that's not what you want, you could most certainly have written
something like

\version "2.19.82"

circledFingerStil = #(grob-transformer 'stencil
                       (lambda (grob old)
                          (and (ly:stencil? old) (circle-stencil old 0.1 0.1))))
cFS = \tweak stencil \circledFingerStil \etc

{ \omit Fingering
  <g'-2 c''-\cFS-4> }

-- 
David Kastrup



reply via email to

[Prev in Thread] Current Thread [Next in Thread]