I need to typeset some French viol tab and I am looking for some
guidance on how to add this capability to lilypond. In looking
at the code for guitar tab, I am unsure it I should create a new
type of engraver or if I should add some parameters to the existing
code.
Some of the differences between viol and guitar tab are:
1. finger positions are denoted with letters instead of numbers.
2. the letters sit above the line representing the string instead
of on the line.
3. note durations are indicated by displaying a notehead and stem
if needed above the staff directly over the letter.
4. if there are multiple notes with the same duration, only the
first note has a duration specified.
5. rests are indicated with a note duration above the staff and
no letter.
For item number 1, I can add a definition for letter-tablature-format
to output-lib.scm so that it is always available. I can also add
tunings for bass, tenor, and treble viol to this file.
For item number 2, I could add a property that would adjust the
vertical position of the letter so that it would be above the line.
Items 3, 4, and 5 look like they need completely different code
from what is in the guitar tab code and trying to fit it in using
properties might not be the best approach.
From the lilypond source point of view, it would be nice to do
something like:
\new TabStaff \with {
tablatureStyle = #french-tablature-style
}
{
\set TabStaff.stringTunings = #bass-viol-tuning
\music
}
The tablatureStyle would set the letter-tablature-format, set the
property to control the positioning of the letters, and change the
note duration style.
Any advice on how to approach this would be appreciated.
Kim Shrier