\version "2.14.2" #(define (make-cross-stencil coords) (ly:stencil-add (make-line-stencil 0.15 (- (car coords) 0.2) (- (cdr coords) 0.2) (+ (car coords) 0.2) (+ (cdr coords) 0.2)) (make-line-stencil 0.15 (- (car coords) 0.2) (+ (cdr coords) 0.2) (+ (car coords) 0.2) (- (cdr coords) 0.2)))) #(define (display-control-points line) (lambda (grob) (let ((stencil (ly:slur::print grob)) (cps (ly:grob-property grob 'control-points))) (ly:stencil-add stencil (ly:stencil-in-color (make-cross-stencil (second cps)) 0 0 1) (ly:stencil-in-color (make-cross-stencil (third cps)) 0 0 1) (if (eq? line #t) (make-line-stencil 0.05 (car (first cps)) (cdr (first cps)) (car (second cps)) (cdr (second cps))) empty-stencil) (if (eq? line #t) (make-line-stencil 0.05 (car (third cps)) (cdr (third cps)) (car (fourth cps)) (cdr (fourth cps))) empty-stencil) ) ))) displayControlPoints = { \override Slur #'stencil = #(display-control-points #f) \override PhrasingSlur #'stencil = #(display-control-points #f) %\override Tie #'stencil = #(display-control-points #f) % commenting this out gives an error } displayControlPointsWithLines = { \override Slur #'stencil = #(display-control-points #t) \override PhrasingSlur #'stencil = #(display-control-points #t) %\override Tie #'stencil = #(display-control-points #t) % commenting this out gives an error } hideControlPoints = { \revert Slur #'stencil \revert PhrasingSlur #'stencil } \paper { indent = 0 } music = \relative c'' { \slurDown c2\( d e d( c d~ d f) \break g e c d c1\) } \markup "Show control-points" \score { { \displayControlPoints \music } } \markup "Show control-points and 'handle' lines" \score { { \displayControlPointsWithLines \music } } \markup "Plain curves" \score { { \music } }