lilypond-user
[Top][All Lists]
Advanced

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

Re: next issue with renaissance guitar tablature - lines representing su


From: Thomas Morley
Subject: Re: next issue with renaissance guitar tablature - lines representing sustained notes
Date: Sat, 27 Mar 2021 12:02:19 +0100



Am Mi., 24. März 2021 um 23:03 Uhr schrieb bart deruyter <bart.deruyter@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.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

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