Notes in staff=invisible while tablature=visible

Djeem Djuheerme <[email protected]>
Newsgroups gmane.comp.gnu.lilypond.general
Message-ID <[email protected]>
I asked copilot for a solution but I want to get away from AI if possible. So I didn't follow up to get tweaks to its two suggestions (one didn't work; one I can't get to compile).

For mountain dulcimer tablature, we normally only show the melody in the staff, even if we are to strum the drones (strings 1 and 2).
This would keep the staff cleaner; and because of the ledger lines, more vertically compact in a perfect solution.
Naturally, I would want to see some of the notes, hide others.

The copilot-suggested function won't compile where invoked because something "is not a rhythmic event".
I thought I got it to compile and hide both the note and the tab once, but I can't get there again, and wasn't what I wanted.

Sorry if it's not where to start, but here is a tiny score.  The structure comes from using TablEdit's 'export as lilypond'

\version "2.24.0"
\header {
title="Dog Treed a Possum"
subtitle=""
composer="trad"
encoder="J"
encodingsoftware="TablEdit"
tagline="Created with TablEdit 3.06 a1d 64-bit https://tabledit.com/"
}

%this function won't compile in a simpler score even if not invoked: Wrong type for argument 2.  Expecting music, found "hiddenNote"
% it does compile in this score **only if not invoked.**  Lotta good, eh?
%hiddenNote =
%#(define-music-function (pitch dur) (ly:pitch? ly:duration?)
%   #{
%     \once \override NoteColumn.ignore-collision = ##t
%     \once \override NoteColumn.X-extent = #'(0 . 0)
%     \hideNotes
%     $pitch$dur
%     \unHideNotes
%   #})



PAVA = { 
\tempo 4 = 120
\time 2/2
\key d \major
 s2 s4 fis'8 \3 e' \3                                                                                                |  % 1
 { <d' \3 a \2 d \1>4^"D"     <fis' \3 a \2 d>     <a' \3 fis' \2 d \1>     <d'' \3 fis' \2>  |   % 2
 }}

\score { <<
\new StaffGroup <<
\new Staff <<
\clef "G"
\override Staff.StringNumber.transparent = ##t
\set Staff.instrumentName="md"
\PAVA
>>
\new TabStaff <<
\override TabStaff.Stem.transparent = ##t
\override TabStaff.Beam.transparent = ##t
\override TabStaff.TupletNumber.transparent = ##t
\override TabStaff.TupletBracket.transparent = ##t
\override TabStaff.NoteColumn.ignore-collision = ##t
\override TabStaff.Rest.transparent = ##t
\set Staff.stringTunings = \stringTuning <  d' a d>
\set Staff.tablatureFormat = #fret-letter-tablature-format
\set Staff.fretLabels = #'("0" "0+" "1" "1+" "2" "3" "3+" "4" "4+" "5" "6" "6+" "7" "7+" "8")
\set Staff.instrumentName="dad"
\new TabVoice { \PAVA }
>>
>>
>> }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.