(ly:stencil-aligned-to
(make-parenthesis-stencil y-extent
half-thickness
- (- width)
- angularity)
+ width
+ angularity
+ -1)
Y CENTER)
X RIGHT))
(lp-x-extent
(make-parenthesis-stencil y-extent
half-thickness
width
- angularity)
+ angularity
+ 1)
Y CENTER)
X LEFT))
(rp-x-extent
callback itself, or an unpure-pure-container).
Function @var{func} accepts a grob and returns a value that is added
-to the value resulting from @var{data}. Optional arguments @var{plus}
-and @var{valid?} default to @code{+} and @code{number?} respectively
-and allow for using a different underlying accumulation/type.
+to the value resulting from @var{data}. Optional argument @var{plus}
+defaults to @code{+} but may be changed to allow for using a different
+underlying accumulation.
If @var{data} is @code{#f} or @code{'()}, it is not included in the sum."
(cond ((or (not data) (null? data))
func)
- ((or (ly:unpure-pure-container func)
- (ly:unpure-pure-container data))
+ ((or (ly:unpure-pure-container? func)
+ (ly:unpure-pure-container? data))
(ly:make-unpure-pure-container
(lambda rest
(plus (apply ly:unpure-call func rest)
(define-public (stroke-finger::calc-text grob)
(let ((event (event-cause grob)))
(or (ly:event-property event 'text #f)
- (vector-ref (ly:grob-property grob 'digit-names)
- (1- (max 1
- (min 5 (ly:event-property event 'digit))))))))
+ (let ((digit-names (ly:grob-property grob 'digit-names)))
+ (vector-ref digit-names
+ (1- (max 1
+ (min (vector-length digit-names)
+ (ly:event-property event 'digit)))))))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;