X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Ffret-diagrams.scm;h=d0c48821044d5e12791b3a451fc265f2c2cd676a;hb=4bb694525afcf12565aafee08e49dd4252a6e86c;hp=fb986f91b990f3589d48d05f883017aa2a559220;hpb=4dba22cdae8ec59067ab18a3ae2f73522fc26e8c;p=lilypond.git diff --git a/scm/fret-diagrams.scm b/scm/fret-diagrams.scm index fb986f91b9..d0c4882104 100644 --- a/scm/fret-diagrams.scm +++ b/scm/fret-diagrams.scm @@ -70,18 +70,11 @@ Line thickness is given by @var{th}, fret & string spacing by (let* ((fret-count (+ (- (cadr fret-range) (car fret-range)) 1)) (sl (* (+ fret-count 1) size)) (sth (* size th)) - (half-thickness (* sth 0.5)) (gap (- size sth)) (string-stencil (if (eq? orientation 'normal) - (ly:make-stencil - (list 'draw-line sth 0 0 0 sl) - (cons (- half-thickness) half-thickness) - (cons (- half-thickness) (+ sl half-thickness))) - (ly:make-stencil - (list 'draw-line sth 0 0 sl 0) - (cons (- half-thickness) (+ sl half-thickness)) - (cons (- half-thickness) half-thickness))))) + (make-line-stencil sth 0 0 0 sl) + (make-line-stencil sth 0 0 sl 0)))) (if (= string-count 1) string-stencil (if (eq? orientation 'normal) @@ -125,16 +118,10 @@ fret & string spacing by @var{size}. Orientation is given by @var{orientation}" (sth (* size th)) (half-thickness (* sth 0.5))) (if (eq? orientation 'normal) - (ly:make-stencil - (list 'draw-line sth half-thickness size + (make-line-stencil sth half-thickness size (- fret-length half-thickness) size) - (cons 0 fret-length) - (cons (- half-thickness) half-thickness)) - (ly:make-stencil - (list 'draw-line sth 0 half-thickness - 0 (- fret-length half-thickness)) - (cons (- half-thickness) half-thickness) - (cons 0 fret-length))))) + (make-line-stencil sth 0 half-thickness + 0 (- fret-length half-thickness))))) (define (draw-thick-zero-fret details string-count th size orientation) "Draw a thick zeroth fret for a fret diagram whose base fret is not 1." @@ -381,25 +368,13 @@ Line thickness is given by @var{th}, fret & string spacing by (barre-stencil (if (eq? barre-type 'straight) (if (eq? orientation 'normal) - (ly:make-stencil - (list - 'draw-line (* size dot-radius) left dot-center-y - right dot-center-y) - (cons left right) - (cons (- dot-center-y scale-dot-radius) - (+ dot-center-y scale-dot-radius))) - (ly:make-stencil - (list 'draw-line (* size dot-radius) + (make-line-stencil scale-dot-radius left dot-center-y + right dot-center-y) + (make-line-stencil scale-dot-radius (* size barre-fret-coordinate) (* size barre-start-string-coordinate) (* size barre-fret-coordinate) - (* size barre-end-string-coordinate)) - (cons (- (* size barre-fret-coordinate) - scale-dot-radius) - (+ (* size barre-fret-coordinate) - scale-dot-radius)) - (cons (* size barre-start-string-coordinate) - (* size barre-end-string-coordinate)))) + (* size barre-end-string-coordinate))) (if (eq? orientation 'normal) (ly:make-stencil (list 'bezier-sandwich @@ -452,7 +427,7 @@ Line thickness is given by @var{th}, fret & string spacing by (define-builtin-markup-command (fret-diagram-verbose layout props marking-list) (list?) ; argument type - fret-diagram ; markup type + instrument-specific-markup ; markup type ((align-dir -0.4) ; properties and defaults (size 1.0) (fret-diagram-details) @@ -610,7 +585,7 @@ indications per string. (define-builtin-markup-command (fret-diagram layout props definition-string) (string?) ; argument type - fret-diagram ; markup category + instrument-specific-markup ; markup category (fret-diagram-verbose-markup) ; properties and defaults "Make a (guitar) fret diagram. For example, say @@ -776,7 +751,7 @@ Note: There is no limit to the number of fret indications per string. (define-builtin-markup-command (fret-diagram-terse layout props definition-string) (string?) ; argument type - fret-diagram ; markup category + instrument-specific-markup ; markup category (fret-diagram-verbose-markup) ; properties "Make a fret diagram markup using terse string-based syntax.