[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Adjustment to tablature output

From: Christopher Webster
Subject: Re: Adjustment to tablature output
Date: Wed, 09 May 2012 09:34:12 +0200
User-agent: Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20120428 Thunderbird/12.0.1

From:    Choan Gálvez
Subject:         Re: Adjustment to tablature output
Date:    Wed, 09 May 2012 01:23:26 +0200
User-agent:      Mozilla/5.0 (Macintosh; Intel Mac OS X 10.5;   rv:12.0) 
Gecko/20120428 Thunderbird/12.0.1
On 5/8/12 10:48 , Christopher Webster wrote:
Is there a recommended way of adjusting TabStaff output so that the
note-heads (fret indications) appear _above_ rather than _on_ the lines
representing the strings, please? This would make it more closely
resemble English renaissance lute tablature, and I have a particular
piece of transcription for which that is a desirable goal.

I've got as far as guessing that assigning a non-standard procedure
value as the tabStaffLineLayoutFunction property of
Tab_note_heads_engraver would probably get me towards where I want to
be, but alas I'm too stupid and/or too ill-informed to see how to write
such a procedure.

Shouldn't be that difficult. Check this thread: 
<>. By adjusting 
the `TabNoteHead #'extra-offset` you can put the letters above the lines.

Unfortunately, they won't align that nicely... but I can't help any further.

Choan Gálvez

Ukecosas. Los ukeleles que nos gustan, también para ti
Visítanos: <>
Degústanos en Facebook: <>

Many thanks for the advice and the link.

In the meantime, I searched this list's archives more carefully and found a solution which works perfectly.

Posted by Neil Puttock on Fri, 8 Apr 2011 20:40:16 +0100 and archived at :

\override TabNoteHead #'Y-offset =
#(lambda (grob)
   (+ (/ (ly:staff-symbol-staff-space grob) 2)
      (ly:staff-symbol-referencer::callback grob)))
\override TabNoteHead #'whiteout = ##f

What wasn't immediately obvious to me was where to insert that fragment, but I got lucky at the first attempt by putting it inside the \with construct for my TabStaff :

  \new TabStaff
    tablatureFormat = #fret-letter-tablature-format
    fretLabels = #luteFretLabels        % defined elsewhere by me
    stringTunings = #bandoraTuningSet   % defined elsewhere by me
    \override TabNoteHead #'Y-offset =
      #(lambda (grob)
        (+ (/ (ly:staff-symbol-staff-space grob) 2)
          (ly:staff-symbol-referencer::callback grob)))
    \override TabNoteHead #'whiteout = ##f
    \remove "Clef_engraver"
    \remove "Time_signature_engraver"
    % stuff ...

I'd like to plead with the LilyPond developers to provide a more obvious and better documented way of achieving the same effect, but this presumably isn't the right place for that.

For the moment, I'm happy.  Many thanks.

            Christopher W.

Stockholm, Sweden.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]