Hello,
I am trying to notate a guitar bend & release (half tone) on a single
note in standard notation (not tablature).
I managed to draw two curves using \path and \arrow-head with \rotate
inside a \markup \overlay, but I cannot get the arrow heads to align
precisely with the endpoints of the curves. The rotation offset makes
exact positioning very difficult.
Here is my current attempt:
\version "2.24.4"
bendRelease =
#(define-music-function (note) (ly:music?)
#{
\once \override TextScript.outside-staff-priority = #50
\once \override TextScript.padding = #0.5
$note
^\markup {
\overlay {
\translate #'(1.45 . 2.5)
\fontsize #-7 "1/2"
\path #0.1
#'((moveto 0 0)
(curveto 0.2 0.5 0.8 2 1.2 2.5))
\path #0.1
#'((moveto 1.8 2.5)
(curveto 2.2 2 2.8 0.5 3 0))
\translate #'(1.15 . 2.45)
\rotate #-45
\arrow-head #Y #UP ##f
\translate #'(2.95 . 0.05)
\rotate #45
\arrow-head #Y #DOWN ##f
}
}
#})
\score {
\new Staff {
\clef treble
\time 4/4
\bendRelease cis''4
d''4 e''4 f''4 |
}
}
My questions are:
1. Is there a cleaner way to attach arrow heads precisely to the
endpoints of a \path curve?
2. Is there an existing snippet on LSR or OpenLilyLib that handles
guitar bend & release notation in standard staff (not TabStaff)?
3. Would a Scheme-level stencil approach give better control over arrow
placement?
Thanks in advance for any advice.
Best regards