A circle of radius @var{radius}, thickness @var{thickness} and
optionally filled.
@c
-@lilypond[verbatim,fragment]
+@lilypond[verbatim,quote]
\\markup { \\draw-circle #2 #0.5 ##f \\hspace #2 \\draw-circle #2 #0 ##t }
@end lilypond"
(make-circle-stencil radius thickness fill))
A triangle, either filled or empty.
@c
-@lilypond[verbatim,fragment]
+@lilypond[verbatim,quote]
\\markup { \\triangle ##f \\triangle ##t }
@end lilypond"
(let*
Add a link to URL @var{url} around @var{arg}. This only works in
the PDF backend.
-@lilypond[verbatim,fragment]
+@lilypond[verbatim,quote]
\\markup {
\\with-url #\"http://lilypond.org/web/\" {
LilyPond ... \\italic \"music notation for everyone\"
(ly:round-filled-box
xext yext blot))
+(define-builtin-markup-command (rounded-box layout props arg) (markup?)
+ "@cindex enclosing text in a bow with rounded corners
+ @cindex drawing boxes with rounded corners around text
+Draw a box with rounded corners around @var{arg}. Looks at @code{thickness},
+@code{box-padding} and @code{font-size} properties to determine line
+thickness and padding around the markup; the @code{corner-radius} property
+makes possible to define another shape for the corners (default is 1).
+
+@lilypond[quote,verbatim,fragment,relative=2]
+c^\\markup{ \\rounded-box Overtura }
+c,8. c16 c4 r
+@end lilypond"
+ (let* ((th (*
+ (ly:output-def-lookup layout 'line-thickness)
+ (chain-assoc-get 'thickness props 1)))
+ (rad (chain-assoc-get 'corner-radius props 1))
+ (size (chain-assoc-get 'font-size props 0))
+ (pad (* (magstep size)
+ (chain-assoc-get 'box-padding props 0.5)))
+ (m (interpret-markup layout props arg)))
+ (ly:stencil-add (rounded-box-stencil m th pad rad)
+ m)))
+
(define-builtin-markup-command (rotate layout props ang arg) (number? markup?)
"
@cindex rotating text
(define-builtin-markup-command (doublesharp layout props) ()
"Draw a double sharp symbol.
@c
-@lilypond[verbatim,fragment]
+@lilypond[verbatim,quote]
\\markup { \\doublesharp }
@end lilypond"
(interpret-markup layout props (markup #:musicglyph (assoc-get 1 standard-alteration-glyph-name-alist ""))))
(define-builtin-markup-command (sesquisharp layout props) ()
"Draw a 3/2 sharp symbol.
@c
-@lilypond[verbatim,fragment]
+@lilypond[verbatim,quote]
\\markup { \\sesquisharp }
@end lilypond"
(interpret-markup layout props (markup #:musicglyph (assoc-get 3/4 standard-alteration-glyph-name-alist ""))))
(define-builtin-markup-command (sharp layout props) ()
"Draw a sharp symbol.
@c
-@lilypond[verbatim,fragment]
+@lilypond[verbatim,quote]
\\markup { \\sharp }
@end lilypond"
(interpret-markup layout props (markup #:musicglyph (assoc-get 1/2 standard-alteration-glyph-name-alist ""))))
(define-builtin-markup-command (semisharp layout props) ()
"Draw a semi sharp symbol.
@c
-@lilypond[verbatim,fragment]
+@lilypond[verbatim,quote]
\\markup { \\semisharp }
@end lilypond"
(interpret-markup layout props (markup #:musicglyph (assoc-get 1/4 standard-alteration-glyph-name-alist ""))))
(define-builtin-markup-command (natural layout props) ()
"Draw a natural symbol.
@c
-@lilypond[verbatim,fragment]
+@lilypond[verbatim,quote]
\\markup { \\natural }
@end lilypond"
(interpret-markup layout props (markup #:musicglyph (assoc-get 0 standard-alteration-glyph-name-alist ""))))
(define-builtin-markup-command (semiflat layout props) ()
"Draw a semiflat symbol.
@c
-@lilypond[verbatim,fragment]
+@lilypond[verbatim,quote]
\\markup { \\semiflat }
@end lilypond"
(interpret-markup layout props (markup #:musicglyph (assoc-get -1/4 standard-alteration-glyph-name-alist ""))))
(define-builtin-markup-command (flat layout props) ()
"Draw a flat symbol.
@c
-@lilypond[verbatim,fragment]
+@lilypond[verbatim,quote]
\\markup { \\flat }
@end lilypond"
(interpret-markup layout props (markup #:musicglyph (assoc-get -1/2 standard-alteration-glyph-name-alist ""))))
(define-builtin-markup-command (sesquiflat layout props) ()
"Draw a 3/2 flat symbol.
@c
-@lilypond[verbatim,fragment]
+@lilypond[verbatim,quote]
\\markup { \\sesquiflat }
@end lilypond"
(interpret-markup layout props (markup #:musicglyph (assoc-get -3/4 standard-alteration-glyph-name-alist ""))))
(define-builtin-markup-command (doubleflat layout props) ()
"Draw a double flat symbol.
@c
-@lilypond[verbatim,fragment]
+@lilypond[verbatim,quote]
\\markup { \\doubleflat }
@end lilypond"
(interpret-markup layout props (markup #:musicglyph (assoc-get -1 standard-alteration-glyph-name-alist ""))))
@code{\\raise}. For vertical positioning, use the @code{padding}
and/or @code{extra-offset} properties.
@c
-@lilypond[verbatim,fragment]
+@lilypond[verbatim,quote]
\\markup { C \\small \\raise #1.0 \\bold { \"9/7+\" } }
@end lilypond"
(ly:stencil-translate-axis (interpret-markup layout props arg) amount Y))
Raising and lowering texts can be done with @code{\\super} and
@code{\\sub}:
@c
-@lilypond[verbatim,fragment]
+@lilypond[verbatim,quote]
\\markup { E \"=\" \\concat { \"mc\" \\super \"2\" } }
@end lilypond"
(ly:stencil-translate-axis