comparison base/methods.lisp @ 34:81b4228e26f5

Primarily corrections to large push earlier, including one missed file darcs-hash:20070418135009-f76cc-011412bf4b5a6bb20bd43b41a8a145f69e941926.gz
author David Lewis <d.lewis@gold.ac.uk>
date Wed, 18 Apr 2007 14:50:09 +0100
parents d1010755f507
children 0f31919a855d
comparison
equal deleted inserted replaced
33:d1010755f507 34:81b4228e26f5
111 :datatype (list (class-of object1) (class-of object2)))) 111 :datatype (list (class-of object1) (class-of object2))))
112 112
113 (defmethod pitch+ ((object1 pitch-designator) 113 (defmethod pitch+ ((object1 pitch-designator)
114 (object2 pitch-interval)) ; or should I check the 114 (object2 pitch-interval)) ; or should I check the
115 ; pitch/interval types? 115 ; pitch/interval types?
116 (make-chromatic-pitch (+ (chromatic-pitch object1) 116 (make-chromatic-pitch (+ (midi-pitch-number object1)
117 (span object2)))) 117 (span object2))))
118 118
119 (defmethod pitch+ ((object1 pitch-interval) 119 (defmethod pitch+ ((object1 pitch-interval)
120 (object2 pitch-designator)) ;? 120 (object2 pitch-designator)) ;?
121 (pitch+ object2 object1)) 121 (pitch+ object2 object1))
125 (make-pitch-interval (+ (span object1) 125 (make-pitch-interval (+ (span object1)
126 (span object2)))) 126 (span object2))))
127 127
128 (defmethod pitch- ((object1 pitch-designator) 128 (defmethod pitch- ((object1 pitch-designator)
129 (object2 pitch-designator)) 129 (object2 pitch-designator))
130 (make-pitch-interval (- (chromatic-pitch object1) 130 (make-pitch-interval (- (midi-pitch-number object1)
131 (chromatic-pitch object2)))) 131 (midi-pitch-number object2))))
132 132
133 (defmethod pitch- ((object1 pitch-designator) 133 (defmethod pitch- ((object1 pitch-designator)
134 (object2 pitch-interval)) 134 (object2 pitch-interval))
135 (make-chromatic-pitch (- (chromatic-pitch object1) 135 (make-chromatic-pitch (- (midi-pitch-number object1)
136 (span object2)))) 136 (span object2))))
137 137
138 (defmethod pitch- ((object1 pitch-interval) 138 (defmethod pitch- ((object1 pitch-interval)
139 (object2 pitch-interval)) 139 (object2 pitch-interval))
140 (make-pitch-interval (- (span object1) 140 (make-pitch-interval (- (span object1)
145 (error 'undefined-action :operation 'pitch- 145 (error 'undefined-action :operation 'pitch-
146 :datatype (list (class-of object1) (class-of object2)))) 146 :datatype (list (class-of object1) (class-of object2))))
147 147
148 (defmethod pitch> ((object1 pitch-designator) 148 (defmethod pitch> ((object1 pitch-designator)
149 (object2 pitch-designator)) 149 (object2 pitch-designator))
150 (> (chromatic-pitch object1) 150 (> (midi-pitch-number object1)
151 (chromatic-pitch object2))) 151 (midi-pitch-number object2)))
152 152
153 (defmethod pitch= ((object1 pitch-designator) 153 (defmethod pitch= ((object1 pitch-designator)
154 (object2 pitch-designator)) 154 (object2 pitch-designator))
155 (= (chromatic-pitch object1) 155 (= (midi-pitch-number object1)
156 (chromatic-pitch object2))) 156 (midi-pitch-number object2)))
157 157
158 (defmethod interval> ((object1 pitch-interval) 158 (defmethod interval> ((object1 pitch-interval)
159 (object2 pitch-interval)) 159 (object2 pitch-interval))
160 (> (span object1) 160 (> (span object1)
161 (span object2))) 161 (span object2)))