In case anyone else would find this useful. Thanks to everyone's help
I've got this working the way I want.
All backing notes common to all instruments regardless of tuning are in
one variable.
Instrument specific (and tuning specific) fret and string details are
split out.
Also any note runs that may only make sense for a given instrument can
also be split out.
Example code below. Now I will start putting some repetitive bits into
include files and start filling in all the real music and specific
instrument details.
Thanks, walt
%%%%%%%%%%%%%%%%%%
\version "2.25.22"
\language "english"
steelGuitarSixStringCSixTuning = \stringTuning <c e g a c' e'>
ros = \set TabStaff.restrainOpenStrings = ##t
mfZero = \set TabStaff.minimumFret = #0
mfTwo = \set TabStaff.minimumFret = #2
mfThree = \set TabStaff.minimumFret = #3
mfFive = \set TabStaff.minimumFret = #5
mfSeven = \set TabStaff.minimumFret = #7
bckngNotes = \relative c' {
d,8 e f g a b c d |
d, e f g a b c d |
s1 | % just this part unique per instrument.
}
gtrBackingNoteDetails = {
\set Staff.stringTunings = #guitar-tuning |
\ros
s8\6 s2.. | % want first note on 6th string
\mfThree s8 s s s \mfFive s s s s\3 |
\mfZero fs'1 |
}
stlBackingNoteDetails = {
\set Staff.stringTunings = \steelGuitarSixStringCSixTuning |
\ros
s8 s8\6 s2. | % want second note on 6th string
\mfTwo s8 s s s \mfFive s s s s\3 |
\mfFive fs'4 \glissando a'2.\2 |
}
fullScore = {
<<
\new TabStaff{
\new TabVoice {
<< \bckngNotes \stlBackingNoteDetails >>
}
}
\new TabStaff{
\new TabVoice {
<< \bckngNotes \gtrBackingNoteDetails >>
}
}
>>
}
\score{
\fullScore
}
%%%%%%%%%%%%%%%%%%