Mercurial > hg > amuse
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)) |