In this chapter, we will explain the reasoning behind this unusual
design, and how this approach affects you as a user.
+
+
@menu
* Batch processing::
* Music engraving::
@cindex search in manual
@cindex using the manual
+@c TODO: advise to buy a book on notation?
If you are not familiar with music notation, or music terminology
(especially if you are a foreigner), then it is advisable to consult
mol
))
-(define-public (box-molecule xext yext)
+(define-public (make-filled-box-molecule xext yext)
"Make a filled box."
(ly:make-molecule
(yext (ly:get-extent grob grob 1))
(thick 0.1))
- (ly:molecule-add (box-molecule xext (cons (- (car yext) thick) (car yext) ))
- (box-molecule xext (cons (cdr yext) (+ (cdr yext) thick) ))
- (box-molecule (cons (cdr xext) (+ (cdr xext) thick)) yext)
- (box-molecule (cons (- (car xext) thick) (car xext)) yext))))
+ (ly:molecule-add (make-filled-box-molecule xext (cons (- (car yext) thick) (car yext) ))
+ (make-filled-box-molecule xext (cons (cdr yext) (+ (cdr yext) thick) ))
+ (make-filled-box-molecule (cons (cdr xext) (+ (cdr xext) thick)) yext)
+ (make-filled-box-molecule (cons (- (car xext) thick) (car xext)) yext))))
;; TODO merge this and prev function.
(let* (
(x-ext (widen-interval (ly:molecule-get-extent mol 0) padding))
(y-ext (widen-interval (ly:molecule-get-extent mol 1) padding))
- (x-rule (box-molecule (widen-interval x-ext thick)
+ (x-rule (make-filled-box-molecule (widen-interval x-ext thick)
(cons 0 thick)))
- (y-rule (box-molecule (cons 0 thick) y-ext)))
+ (y-rule (make-filled-box-molecule (cons 0 thick) y-ext)))
(set! mol (ly:molecule-combine-at-edge mol 0 1 y-rule (* 0.5 padding)))
(set! mol (ly:molecule-combine-at-edge mol 0 -1 y-rule (* 0.5 padding)))
(mol (callback grob))
(x-ext (widen-interval (ly:molecule-get-extent mol 0) x-padding))
(y-ext (widen-interval (ly:molecule-get-extent mol 1) y-padding))
- (x-rule (box-molecule (widen-interval x-ext line-thick)
+ (x-rule (make-filled-box-molecule (widen-interval x-ext line-thick)
(cons 0 line-thick)))
- (y-rule (box-molecule (cons 0 line-thick) y-ext))
+ (y-rule (make-filled-box-molecule (cons 0 line-thick) y-ext))
)
(set! mol (ly:molecule-combine-at-edge mol 0 1 y-rule x-padding))