|
From: | Gianmaria Lari |
Subject: | Re: fingering |
Date: | Thu, 22 Feb 2018 10:58:09 +0100 |
Please delete next line, it was a debugging aid2018-02-22 0:15 GMT+01:00 Gianmaria Lari <address@hidden>:
>
>
> On 21 February 2018 at 23:15, Thomas Morley <address@hidden>
> wrote:
>>
>> 2018-02-21 9:29 GMT+01:00 Gianmaria Lari <address@hidden>:
>> >
>> > On 20 February 2018 at 22:30, Thomas Morley <address@hidden>
>> > wrote:
>> >>
>> >> 2018-02-20 18:42 GMT+01:00 Gianmaria Lari <address@hidden>:
>> >> > On 20 February 2018 at 17:10, Robin Bannister <address@hidden> wrote:
>> >> >>
>> >> >> DJF wrote:
>> >> >>
>> >> >>> perhaps someone else knows if it’s possible to control the
>> >> >>> vertical
>> >> >>> spacing within the staff;
>> >> >>
>> >> >>
>> >> >> You can splay it out using Y-offset:
>> >> >> <d'-\tweak Y-offset 0.7 \4 b \3 g-\tweak Y-offset -0.9 -2 >1
>> >> >
>> >> >
>> >> > Do you know Robin, if there is any way to avoid the "\tweak ..." and
>> >> > make
>> >> > Lilypond automatically spacing the fingering/stringNumber elements?
>> >> >
>> >> > Thank you, g.
>> >>
>> >>
>> >>
>> >> How about:
>> >>
>> >> \version "2.19.81"
>> >>
>> >> circledFingerStil =
>> >> #(lambda (grob)
>> >> (circle-stencil (ly:text-interface::print grob) 0.1 0.1))
>> >>
>> >> \fixed c' {
>> >> \set fingeringOrientations = #'(left)
>> >>
>> >> <g-\tweak stencil \circledFingerStil -2
>> >> b-\tweak stencil \circledFingerStil-3
>> >> d'-4>1
>> >>
>> >> \override Fingering.stencil = \circledFingerStil
>> >> <g-2 b-3 d'-4>1
>> >> }
>> >>
>> >> There _is_ some buit-in code which avoids collisions of Fingering, but
>> >> it does not work for StringNumbers or a mix of Fingerings and
>> >> StringNumbers, afaik.
>> >>
>> >> Cheers,
>> >> Harm
>> >
>> >
>> > Ciao Harm,
>> > thanks a lot for your code! It works very well.
>> >
>> > But I also have some questions.
>> >
>> > The circled and uncircled fingering are not horizontally aligned. Is
>> > there
>> > any way to align them?
>> >
>> > Is there any way to make the more easy to manage? I can write something
>> > like
>> > this
>> >
>> > <g-\tweak stencil \circledFingerStil -2
>> > b-\tweak stencil \circledFingerStil-3
>> > d'-4>1
>> >
>> > just to test an idea but I don't want to use it in a real score.
>> > Is there any way to reduce/encapsulate it to something less intrusive?
>> >
>> > Thank you!
>> > G.
>>
>> Hi,
>>
>> try:
>>
>> \version "2.19.81"
>>
>> %% returns a stencil (created by `ly:text-interface::print') within a
>> circle
>> circledFingerStil =
>> #(lambda (grob)
>> (circle-stencil (ly:text-interface::print grob) 0.1 0.1))
>>
>> %% tweak-short-cut
>> cFS =
>> \tweak stencil \circledFingerStil
>> \etc
>>
>> adjustFC =
>> \override Staff.FingeringColumn.before-line-breaking =
>> #(lambda (grob)
>> "Sets @code{snap-radius} of @code{FingeringColumn} to @code{3} and
>> applies @code{centered-stencil} to every fingering-stencil"
>> (let* ((fingerings (ly:grob-object grob 'fingerings))
>> (fingering-ls
>> (if (ly:grob-array? fingerings)
>> (ly:grob-array->list fingerings)
>> '())))
[...]>> (write grob)
>> (ly:grob-set-property! grob 'snap-radius 3)
>> (for-each
>> (lambda (f)
>> (ly:grob-set-property! f 'stencil
>> (centered-stencil ((ly:grob-property-data f 'stencil) f))))
>> fingering-ls)))
>>
>> {
>>
>> %% NB FingeringColumn is created _only_ if `fingeringOrientations'
>> contains
>> %% 'left or 'right _and_ more than one Fingering has to be placed there
>> \set fingeringOrientations = #'(left)
>>
>> %% default
>> <c'-1 d'-22 e'-333 f'-4444>1
>>
>> %% some circles around Fingerings
>> <c'-1 d'\cFS-22 e'\cFS-333 f'-4444>1
>>
>> %% some circles around Fingerings plus adjusted FingeringColumn
>> \once \adjustFC
>> <c'-1 d'\cFS-22 e'\cFS-333 f'-4444>1
>> }
>>
>> HTH,
>> Harm
>
>
> Ciao Harm
>
> I just tried it (tomorrow I will try to see if I can understand how does it
> work) but I get some compilation error:
>
> Starting lilypond-windows.exe 2.19.81 [Untitled]...
>
> Processing
> `C:/Users/GIANMA~1/AppData/Local/Temp/frescobaldi- u4n32kzb/tmpi018rw4w/document. ly '
>
> Parsing...
>
> C:/Users/GIANMA~1/AppData/Local/Temp/frescobaldi- u4n32kzb/tmpi018rw4w/document. ly:41:11:
> error: not a rhythmic event
>
> <c'-1 d'
>
> \cFS-22 e'\cFS-333 f'-4444>1
Hmm, I used selfcompiled 2.21.0. The relevant features are obviously
not in 2.18.1.
To make it work use a - before \cFS
<c'-1 d'-\cFS-22 e'-\cFS-333 f'-4444>1
etc
Now tested with with 2.19.65
Sorry,
Harm
Capture.PNG
Description: PNG image
[Prev in Thread] | Current Thread | [Next in Thread] |