[gsharp-cvs] CVS gsharp
rstrandh
rstrandh at common-lisp.net
Mon Nov 17 07:44:00 UTC 2008
Update of /project/gsharp/cvsroot/gsharp
In directory cl-net:/tmp/cvs-serv14574
Modified Files:
sdl.lisp
Log Message:
Time signature digit 7.
--- /project/gsharp/cvsroot/gsharp/sdl.lisp 2008/11/17 06:40:26 1.42
+++ /project/gsharp/cvsroot/gsharp/sdl.lisp 2008/11/17 07:44:00 1.43
@@ -2080,4 +2080,88 @@
(mf pa left ++ pb up ++ pc right ++ pd down ++ pe left ++
pf up (tensions 1 20) pg (tensions 20 1) ph down ++ ppi
(tensions 5 1) pj right ++ pk down ++ cycle)
- (mf pl left ++ pm up ++ pn right ++ po down ++ cycle))))))
\ No newline at end of file
+ (mf pl left ++ pm up ++ pn right ++ po down ++ cycle))))))
+
+;;;
+;;;
+;;; w1
+;;; __________
+;;; | |
+;;;
+;;;
+;;; k m o _
+;;; * l ************ * |
+;;; j******************* * |
+;;; ********************n ** |
+;;; *********************** |
+;;; *** g ************e*** |
+;;; ** ********* ** |
+;;; i* f d** |
+;;; h *** |
+;;; **** |
+;;; **** |
+;;; ***** |
+;;; ***** | h1
+;;; ****** |
+;;; ****** |
+;;; ******* |
+;;; ******* |
+;;; ******* |
+;;; ******* |
+;;; ******* |
+;;; ********p |
+;;; ******** |
+;;; ********* |
+;;; c ****a****q |
+;;; *** *** _|
+;;; b r
+;;;
+;;;
+;;;
+;;;
+;;;
+;;;
+;;;
+;;;
+
+(defmethod compute-design ((font font) (shape (eql :time-signature-7)))
+ (with-slots ((sld staff-line-distance)
+ (slt staff-line-thickness)
+ yoffset)
+ font
+ (flet ((c (x y) (complex x y)))
+ (let* (;; This symbol should sit on top of a staff line
+ (yb (+ (/ slt 2) yoffset))
+ ;; if the little notch is to be visible, the top
+ ;; of this character should hang below the upper staff line.
+ (h1 (- (* 2 sld) slt))
+ (yl (+ yb (- h1 slt)))
+ (w1 (round (* 0.37 h1)))
+ (yn (+ yb (- h1 (* 2 slt))))
+ (yf (+ yb (round (* 0.65 h1))))
+ (ya (+ yb slt))
+ (pc (c (round (* -0.20 h1)) (+ yb (* 0.03 h1))))
+ (pb (c (+ (realpart pc) (* 0.03 h1)) yb))
+ (pd (c (round (* 0.18 h1)) yf))
+ (pe (c (realpart pd) (+ (imagpart pd) (* 0.03 h1))))
+ (pf (c (* 0.06 h1) yf))
+ (pg (c (* -0.21 h1) (+ yf (round (* 0.8 slt)))))
+ (ph (c (- (* 0.03 h1) w1) (+ yb (* 0.55 h1))))
+ (ppi (c (- w1) (+ (imagpart ph) (* 0.03 h1))))
+ (pj (c (- w1) (+ yb (- h1 (* 0.03 h1)))))
+ (pk (c (+ (realpart pj) (* 0.03 h1)) (+ yb h1)))
+ (pl (c (- (* 0.11 h1) w1) yl))
+ (pm (c (* -0.05 h1) (+ yb h1)))
+ (pn (c (* 0.23 h1) yn))
+ (po (c (round (* 0.9 w1)) (+ yb h1)))
+ (pp (c (round (* 0.15 h1)) (+ yb (* 0.13 h1))))
+ (pq (c (realpart pp) (+ yb (* 0.03 h1))))
+ (pr (c (- (realpart pp) (* 0.03 h1)) yb))
+ (pa (c (* 0.00 h1) ya)))
+ (mf pa left ++ pb left ++ pc up (tensions 1 5) pd up ++ pe left ++
+ pf left ++ pg left ++ ph left ++ ppi up ++
+ pj up ++ pk right ++ pl right ++ pm right ++
+ pn right (tensions 1 3) po (tensions 3 1)
+ pp down ++ pq down ++ pr left ++ cycle)))))
+
+
\ No newline at end of file
More information about the Gsharp-cvs
mailing list