[CM] on several voice
Bill Schottstaedt
bil@ccrma.Stanford.EDU
Tue, 6 Mar 2007 04:52:05 -0800
The lowered eighth rest + little staff is the problem? Here's one
possibility:
(defun eighth-rest-in-little-staff ()
(eighth-rest
invisible
(make-sundry
:mark #'(lambda (mark note score &optional justifying)
(when (not justifying)
(let* ((x0 (box-x0 note))
(y0 (- (box-y0 note) 1.0)))
(setf (line-width score) *staff-line-width*)
(moveto score x0 y0) ; draw little staff lines
(rlineto score 0.5 0)
(moveto score x0 (- y0 .25))
(rlineto score 0.5 0)
(moveto score x0 (- y0 .5))
(rlineto score 0.5 0)
(draw score)
(show score eighth-rest ; draw an eighth rest
:matrix (translate-matrix score eighth-rest (+ x0 .1) (- y0 .25)))))))))
(cmn (setf s1 (staff (meter 4 4) begin-repeat-bar
g5 (note-head :x) stem-up
g5 (note-head :x) stem-up
g5 (note-head :x) stem-up
g5 (note-head :x) stem-up end-repeat-bar))
(staff (tied-to s1) (d4 e.) (b4 s)
(eighth-rest invisible)
(d4 e stem-down)(d4 e.) (d4 s) (f4 q))
(staff (tied-to s1)
(eighth-rest-in-little-staff) (b3 e (note-head :circled-x) stem-down)
(eighth-rest-in-little-staff) (b3 e (note-head :circled-x) stem-down)
(eighth-rest-in-little-staff) (b3 e (note-head :circled-x) stem-down)
(eighth-rest-in-little-staff) (b3 e (note-head :circled-x) stem-down)))