lilypond-devel
[Top][All Lists]
Advanced

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

Re: Setting up classical guitar fingerings


From: Luca Fascione
Subject: Re: Setting up classical guitar fingerings
Date: Sun, 20 Feb 2022 21:17:31 +0100

So... would anybody be able to lend a hand here please?

Many thanks
Luca

On Sat, Feb 12, 2022 at 7:49 PM Luca Fascione <l.fascione@gmail.com> wrote:

> Hello,
> sorry for the double-post, I'm unsure whether this should go to -user or
> -devel.
>
> I'm looking for some guidance to set up fingering on classical guitar
> sheets.
>
> I am attaching a simple piece of music, with two engraving sets (measures
> 1-5 and 6-10), one "as-is" from lilypond, the other using some trickery
> involving one-note chords, purely to show a sample of what the result I'm
> after (and it's an approximation), vs what I get at the moment.
>
> Measures 1-5 in the source look like what I am intending to type, but it
> has a number of engraving defects I don't understand (you can see the beams
> don't  avoid the fingerings, nor they are located correctly wrt the
> accidentals, the second beat of measure 5 illustrates this well. I'm not
> super in love with measure 10 either, but if I understand the docs
> correctly, the issue there is that the 'offset' correction is applied
> post-layout, and so naturally it won't back-affect the placement of the
> beams.
>
> I have made several other experiments, I'm just not wanting to waste
> people's time. But setting Fingering.side-axis = #X seems somewhat
> promising, but it seems unable to find any usable Y data about the parents,
> and smashes all numbers on the B line, as well as not dealing with
> accidentals.
>
> I have an engraving project in front of me, for which I'm more than happy
> to put in the time to contribute the code to a proper solution myself, and
> I really don't want to make poor use of time from folks busy with other
> work, but I feel I'll need some level of guidance as to what to do. For
> context I can do C++ and I can manage guile ok (I'm a software engineer for
> work, I'm mostly working in the field of computer graphics).
>
> I was looking into this problem several years ago also, and Han-Wen
> Nienhuys at the time suggested I should use a positioning callback attached
> to the Fingering grobs, but I couldn't find a way to do such a thing (in
> particular I can't find what property to use for this). So far I've traced
> the Fingering system to be an instance of the Articulations/Scripts system,
> but that's as far as I got.
>
> It seems to me what's needed would be to decide where the heads go, then
> the accidentals, at this stage deal with the fingering and only then there
> would be enough bboxes to reason about the beaming (this is the skyline
> concept I think). In reasoning about how Articulations are engraved, it's
> possible the order of events for fingering would be different from the
> order of events in other articulations (which I think are laid out after
> beams are in place, if I am not mistaken), warranting a bigger change, but
> I have no idea where that is located/managed.
>
> Many thanks for your time,
> Luca
>


reply via email to

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