Jump to content

Arrows-line function with text spanners

From LilyPond wiki

use arrow line function (with rotation) for describe an expression or glissando

\version "2.24.0"

arrowSp = #(define-event-function (text1 text2 arrw-angle) (markup? markup? number-list?)
   #{
       \tweak direction #down
       \tweak style  #'line
       \tweak thickness  #1
       \tweak bound-details.right.arrow ##t
       \tweak arrow-length #0.8
       \tweak arrow-width  #0.5
       \tweak font-shape  #'upright
       \tweak bound-details.left.padding  #-0.7
       \tweak bound-details.right.padding  #0.8
       \tweak bound-details.left.text  \markup\raise #-0.8 $text1
       \tweak bound-details.right.text \markup\raise #-0.8 $text2
       \tweak rotation $arrw-angle
       \startTextSpan
   #})


%\arrowSP "txtA" "txtB" #'(angle posY posX)
\new Staff {
\times 4/6 { d'16\arrowSp "(A)""[B]" #'(8 -1 0)  e' f' g' a' c''\stopTextSpan }
}