On 2019-11-13 6:32 am, Paolo Prete wrote:
Hello,
I wonder if is there a script or a snippet for doing that without
using Frescobaldi
Probably not perfect, but here's something you can fiddle with:
%%%%
\version "2.19.83"
showControlPoints = #(grob-transformer 'stencil (lambda (grob orig)
(define (draw-control-point pt)
#{ \markup \translate $pt \with-color #red \draw-circle #0.15 #0 ##t
#})
(define (draw-control-segment pt1 pt2)
(let ((delta (cons (- (car pt2) (car pt1)) (- (cdr pt2) (cdr
pt1)))))
#{ \markup \translate $pt1 \with-color #'(1 .5 0) \draw-line
$delta #}))
(let* ((pts (ly:grob-property grob 'control-points))
(dots (map (lambda (pt)
(grob-interpret-markup grob (draw-control-point pt)))
pts))
(lines (map (lambda (pt1 pt2)
(grob-interpret-markup grob (draw-control-segment pt1 pt2)))
pts (cdr pts))))
(ly:stencil-add
(apply ly:stencil-add lines)
(apply ly:stencil-add dots)
orig))))
\layout { \context { \Voice
\override PhrasingSlur.stencil = #showControlPoints
\override Slur.stencil = #showControlPoints
\override Tie.stencil = #showControlPoints
} }
\fixed c' { g4\( a b2~ | b2( e'8 d') c'4\) }
%%%%
-- Aaron Hill