I have defined alternate note names using the following method:
newnames =
#`(("c" . "S")
("d" . "R")
("e" . "G")
("f" . "M")
("g" . "P")
("a" . "D")
("b" . "N"))
myNoteNames =
#(lambda (grob)
(let* ((default-name (ly:grob-property grob 'text))
(new-name (assoc-get default-name newnames)))
(ly:grob-set-property! grob 'text new-name)
(ly:text-interface::print grob)))
geetam = \relative c' { e4 e g2 g a4 g c2 c }
\new Staff
<<
\geetam
\context NoteNames \with {
\override NoteName #'stencil = #myNoteNames
} { \geetam}
>>
This works perfectly.
Now, some of the student also want to see the names of notes C, D, E, F, G, A, B.
Is there a way to show both the note names I have defined and the english note names? Ideally, one would be below the other.