Thomas Morley <[email protected]> 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 _______________________________________________ lilypond-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-devel
