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