comparison base/methods.lisp @ 83:ae06767e84c5

base/: pitch darcs-hash:20070717153457-c0ce4-cd5350c65ee8414bda17d40eb0e149063f2c22d7.gz
author Marcus Pearce <m.pearce@gold.ac.uk>
date Tue, 17 Jul 2007 16:34:57 +0100
parents 4e1538df0d10
children 7a0ee88f1edb
comparison
equal deleted inserted replaced
82:92e6625473e2 83:ae06767e84c5
1 (cl:in-package #:amuse) 1 (cl:in-package #:amuse)
2 2
3 ;;; diatonic pitch 3 ;;; diatonic pitch
4
5 (defmethod pitch= ((p1 diatonic-pitch) (p2 diatonic-pitch))
6 (let ((n1 (%diatonic-pitch-name p1))
7 (a1 (%diatonic-pitch-accidental p1))
8 (o1 (%diatonic-pitch-accidental p1))
9 (n2 (%diatonic-pitch-name p2))
10 (a2 (%diatonic-pitch-accidental p2))
11 (o2 (%diatonic-pitch-accidental p2)))
12 (and n1 n2 (= n1 n2)
13 a1 a2 (= a1 a2)
14 o1 o2 (= o1 o2))))
4 15
5 (defmethod middle-c ((dp diatonic-pitch)) 16 (defmethod middle-c ((dp diatonic-pitch))
6 (make-diatonic-pitch 2 0 4)) 17 (make-diatonic-pitch 2 0 4))
7 18
8 (defmethod diatonic-pitch ((dp diatonic-pitch)) 19 (defmethod diatonic-pitch ((dp diatonic-pitch))
33 (meredith-chromatic-pitch-number (mips-pitch dp))) 44 (meredith-chromatic-pitch-number (mips-pitch dp)))
34 (defmethod meredith-morphetic-pitch-number ((dp diatonic-pitch)) 45 (defmethod meredith-morphetic-pitch-number ((dp diatonic-pitch))
35 (meredith-morphetic-pitch-number (mips-pitch dp))) 46 (meredith-morphetic-pitch-number (mips-pitch dp)))
36 47
37 ;;; MIPS pitch 48 ;;; MIPS pitch
49
50 (defmethod pitch= ((p1 mips-pitch) (p2 mips-pitch))
51 (let ((c1 (meredith-chromatic-pitch-number p1))
52 (m1 (meredith-morphetic-pitch-number p1))
53 (c2 (meredith-chromatic-pitch-number p2))
54 (m2 (meredith-morphetic-pitch-number p2)))
55 (and c1 c2 (= c1 c2)
56 m1 m2 (= m1 m2))))
38 57
39 (defmethod middle-c ((mp mips-pitch)) 58 (defmethod middle-c ((mp mips-pitch))
40 (make-mips-pitch 39 23)) 59 (make-mips-pitch 39 23))
41 60
42 (defmethod mips-pitch ((mp mips-pitch)) 61 (defmethod mips-pitch ((mp mips-pitch))