Am Mi., 24. März 2021 um 23:03 Uhr schrieb bart deruyter <
bart.deruy...@gmail.com>:

> hello all,
> I've continued working on my tablature for 4-course renaissance guitar.
> - I've got the old-style rhythm notation, the letters by using a specific
> font (could we get these types of letters implemented in lilypond's default
> font? I guess lute players would feel very happy about it too.)
> - I've got the dots in stroke-finger notation.
> - So far only the diagonal lines are a real puzzle to me.
> [image: image.png]
> Deciphering tablatures I understood that sustained notes are described
> with these lines. Here the note on fret 'c' rings until the note on fret
> 'a' is played.
>

Not sure you're right, Though, I'm not an expert for renaissance-guitar

>
> I've tried to implement them by using glissandi, but I'd have to adjust
> the start and endpoint to get them to look right if it's the right thing to
> use.
> I haven't found it in the manual yet to adjust the glissando line. Does
> anyone here have an idea?
> They're not meant to represent sustained notes of course, but I haven't
> found another line that would better suit the purpose.
> Would it be possible to modify piano sustain markings and use them in
> tablature for this purpose? Or is there some other type of 'line' I could
> use or even create?
>
> thanks in advance,
>
> Bart
>

Sounds more like a use case for DurationLine, a quite new grob/feature for
contemporary music.
But why not use it here as well?
Needs some tweaking, though. The default is always horizontal.

\version "2.22.0"

\score {
  <<
    \new TabStaff
      \with {
      \override VerticalAxisGroup.staff-staff-spacing.padding = #5
      }
      <<
        \new TabVoice {  r8 <d' g'> q b }
        \new TabVoice { g,4.\- r8 }
      >>
    \new TabStaff
      <<
        \new TabVoice {  r8 <d' g'> q b }
        \new TabVoice {
          %% see comment below
          \override DurationLine.details.line-y-padding = 0.3
          g,4.\- r8
        }
      >>
  >>

  \layout {
  ragged-right = ##t
    \context {
      \TabVoice
      \consists "Duration_line_engraver"
      %% adjust to taste
      \override DurationLine.bound-details.left.padding = 1.5
      %% adjust to taste
      \override DurationLine.thickness = 1.2
      \override DurationLine.stencil =
        #(lambda (grob)
          ;; see `duration-line::calc', `duration-line::print' in
output-lib.scm
          (let* (;; To calculate the stencil, get basic values from
                 ;; `duration-line::calc'
                 (dur-line-basics (duration-line::calc grob))
                 (staff-space (assoc-get 'staff-space dur-line-basics))
                 (x-start (assoc-get 'x-start dur-line-basics))
                 (x-end (assoc-get 'x-end dur-line-basics))
                 (scaled-y (* staff-space (assoc-get 'y dur-line-basics)))
                 ;; Provide a new subproperty of 'details to offer
customizable
                 ;; padding between the staff-lines and vertical start/end
of
                 ;; DurationLine
                 (details (ly:grob-property grob 'details))
                 (line-y-padding (assoc-get 'line-y-padding details 0.1)))
         (ly:line-interface::line
           grob
           x-start
           (+ scaled-y line-y-padding)
           x-end
           (- (+ scaled-y staff-space) line-y-padding) )))
    }
  }
}

Cheers,
  Harm

Reply via email to