[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: TextScript dans une définition markup
From: |
Gloops |
Subject: |
Re: TextScript dans une définition markup |
Date: |
Fri, 11 Dec 2020 17:51:40 -0700 (MST) |
\version "2.20.0"
#(define-markup-command (myMarker layout props color xdim ydim) (color?
pair? pair?)
(interpret-markup layout props
(markup (#:with-dimensions (cons 0 0)(cons 0 0)
(#:with-color color
(#:filled-box xdim ydim 1) )))))
roundedRectangle =
#(define-music-function ( y-lower y-upper frame-color fill-color radius)
(number? number? scheme? scheme? number?)
#{
\once\override HorizontalBracket.stencil =
$(lambda (grob)
(let* (
(area (ly:horizontal-bracket::print grob))
(thick (ly:grob-property grob 'line-thickness 0.2))
(pad (ly:grob-property grob 'broken-bound-padding 0))
(X-ext (ly:stencil-extent area X))
(X-ext (cons (- (car X-ext) thick) (+ (cdr X-ext) thick)))
(open-on-left (= 1 (ly:item-break-dir (ly:spanner-bound
grob LEFT ))))
(open-on-right (= -1 (ly:item-break-dir (ly:spanner-bound
grob RIGHT))))
(X-ext (cons
(if open-on-left (+ (car X-ext) pad) (car X-ext))
(if open-on-right (- (cdr X-ext) pad) (cdr X-ext))))
(Y-ext (cons y-lower y-upper))
(outer-rect empty-stencil)
)
; calculate outer borders:
(set! outer-rect
(if (color? frame-color)
(ly:make-stencil (list 'color frame-color
(ly:stencil-expr (ly:round-filled-box
X-ext Y-ext radius))
X-ext Y-ext))
empty-stencil)
)
; shrink X-ext for use with inner stuff:
(set! X-ext (cons (+ (car X-ext) thick) (cdr X-ext)))
(set! X-ext (cons (car X-ext) (- (cdr X-ext) thick)))
; shrink Y-ext for use with inner stuff:
(set! Y-ext (cons (+ (car Y-ext) thick) (cdr Y-ext)))
(set! Y-ext (cons (car Y-ext) (- (cdr Y-ext) thick)))
(ly:grob-set-property! grob 'layer -10)
(ly:stencil-add
outer-rect
; draw (inner) fill-rectangle
(if (color? fill-color)
(ly:make-stencil (list 'color fill-color
(ly:stencil-expr (ly:round-filled-box
X-ext Y-ext (- radius thick)))
X-ext Y-ext))
empty-stencil)
)
))
\once\override HorizontalBracket.Y-offset = #0
\once\override HorizontalBracket.shorten-pair = #'(-2.3 . -0.5)
#})
#(define-markup-command (sticker layout props frame-color fill-color arg)
(color? color? markup?)
(let* ((stencil (interpret-markup layout props arg))
(X-ext (ly:stencil-extent stencil X))
(Y-ext (ly:stencil-extent stencil Y))
(cnt 0)
(step 0)
(dist-y (- (cdr Y-ext) (car Y-ext))))
(set! cnt (round (/ dist-y 0.7)))
(if (> cnt 0)
(set! step (/ dist-y cnt))
(set! step 0))
(ly:stencil-add
(makeDeltaSpan
(car Y-ext) (cdr Y-ext) (car Y-ext) (cdr Y-ext) frame-color
fill-color
step step #f #f 0.1 ; thick
0 X-ext #f #f 0)
stencil)))
\layout {
\context {
\Voice
\consists "Horizontal_bracket_engraver"
}
}
\score {
\relative c' {
\clef treble
\key g \major
<> -\markup\myMarker #red #'(-6 . -5) #'(2 . 6)
c4 d e fis |
g4 \roundedRectangle #-4 #3 #black #yellow #2
f? \startGroup e c \stopGroup d4 e4 fis r %
\bar "|."
}
}
--
Sent from: http://lilypond-french-users.1298960.n2.nabble.com/
- TextScript dans une définition markup, martial, 2020/12/11
- Re: TextScript dans une définition markup, Gloops, 2020/12/11
- Re: TextScript dans une définition markup, martial, 2020/12/11
- Re: TextScript dans une définition markup, Gloops, 2020/12/11
- Re: TextScript dans une définition markup, Pierre Perol-Schneider, 2020/12/11
- Re: TextScript dans une définition markup, martial, 2020/12/11
- Re: TextScript dans une définition markup,
Gloops <=
- Re: TextScript dans une définition markup, Gloops, 2020/12/11
- Re: TextScript dans une définition markup, martial, 2020/12/12
- Re: TextScript dans une définition markup, martial, 2020/12/11
Re: TextScript dans une définition markup, Jean Abou Samra, 2020/12/12