lilypond-devel
[Top][All Lists]
Advanced

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

Re: maximumFretStretch in TabStaff?


From: David Kastrup
Subject: Re: maximumFretStretch in TabStaff?
Date: Sat, 27 Jan 2018 00:39:39 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux)

Thomas Morley <address@hidden> writes:

> Hi,
>
> while thinking about a nice lsr-snippet demonstrating usage of
> `maximumFretStretch', I first thought to use the most extrem case for
> the classical guitar I know of.
> (Code below.)
> But it more or less worked out of the box. It took a while before I
> understood why:
> `maximumFretStretch' is read in Tab_Voice_ not TabStaff. Does not make
> much sense to me.
>
> Any hint how to make it work in TabStaff?

determine-frets is called in Fretboard_engraver (in FretBoards context)
and in Tab_note_heads_engraver (in TabVoice context).

The problem is indeed that the determine-frets action should rather be
done at TabStaff level: if you have notes in different TabVoice contexts
(quite typical for somewhat polyphonic music), LilyPond has no qualms
assigning the same string for notes in a different TabVoice .  Since it
would be quite unusual for two instruments to be notated in the same
tab, that's just stupid.

While I haven't put any work into it, I could imagine it to be
non-trivial to do this right, namely do the fret determination at staff
level (and likely also taking still-sounding notes into account) while
creating the output at voice level so that slurs and similar still work.

-- 
David Kastrup



reply via email to

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