[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: maximumFretStretch in TabStaff?
From: |
Carl Sorensen |
Subject: |
Re: maximumFretStretch in TabStaff? |
Date: |
Fri, 26 Jan 2018 23:55:40 +0000 |
User-agent: |
Microsoft-MacOutlook/10.9.0.180116 |
On 1/26/18, 4:40 PM, "lilypond-devel on behalf of David Kastrup"
<address@hidden on behalf of address@hidden> wrote:
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.
Perhaps in the short term we should put a known issue with something like the
following:
In TabStaff passages with multiple TabVoice contexts, the note-to-fret function
is done on a per-voice basis, so two
different notes can be assigned to the same string. To avoid this problem, you
can explicitly
assign string numbers to the notes.
Thanks,
Carl