Mercurial > hg > amuse
comparison implementations/midi/methods.lisp @ 243:93f8768b12dd
Add some more midi setf methods.
Ignore-this: 2e61873995aee02ee7092e76cff9909b
darcs-hash:20100604153347-16a00-6c337a78b01a227049aaa1ce996da506d4951af1.gz
committer: Jamie Forth <j.forth@gold.ac.uk>
author | j.forth <j.forth@gold.ac.uk> |
---|---|
date | Thu, 24 Feb 2011 11:23:18 +0000 |
parents | 16b99fc989aa |
children | bba5e8571b92 |
comparison
equal
deleted
inserted
replaced
242:66f9c2913ac7 | 243:93f8768b12dd |
---|---|
1 (cl:in-package #:amuse-midi) | 1 (cl:in-package #:amuse-midi) |
2 | |
3 (defgeneric (setf midi-velocity) (value event) | |
4 (:method (v e) (declare (ignore v)) e)) | |
5 (defmethod (setf midi-velocity) (value (event midi-pitched-event)) | |
6 (setf (%midi-pitched-event-velocity event) value) | |
7 event) | |
8 | |
9 (defgeneric (setf midi-patch) (value event) | |
10 (:method (v e) (declare (ignore v)) e)) | |
11 (defmethod (setf midi-patch) (value (event midi-pitched-event)) | |
12 (setf (%midi-pitched-event-patch event) value) | |
13 event) | |
14 | 2 |
15 (defgeneric midi-channel (midi-message) | 3 (defgeneric midi-channel (midi-message) |
16 (:documentation "MIDI channel. Also used for midi output")) | 4 (:documentation "MIDI channel. Also used for midi output")) |
17 (defmethod midi-channel ((midi-message midi-message)) | 5 (defmethod midi-channel ((midi-message midi-message)) |
18 (%midi-message-channel midi-message)) | 6 (%midi-message-channel midi-message)) |
19 | 7 |
8 (defgeneric (setf midi-channel) (value event)) | |
9 (defmethod (setf midi-channel) (value (event midi-message)) | |
10 (setf (%midi-message-channel event) value) event) | |
11 | |
20 (defgeneric midi-track (midi-message) | 12 (defgeneric midi-track (midi-message) |
21 (:documentation "MIDI track. Also used for midi output")) | 13 (:documentation "MIDI track. Also used for midi output")) |
22 (defmethod midi-track ((midi-message midi-message)) | 14 (defmethod midi-track ((midi-message midi-message)) |
23 (%midi-message-track midi-message)) | 15 (%midi-message-track midi-message)) |
16 | |
17 (defgeneric (setf midi-track) (value event)) | |
18 (defmethod (setf midi-track) (value (event midi-message)) | |
19 (setf (%midi-message-track event) value) event) | |
24 | 20 |
25 (defgeneric midi-velocity (event) | 21 (defgeneric midi-velocity (event) |
26 (:documentation "MIDI velocity. Also used for midi output")) | 22 (:documentation "MIDI velocity. Also used for midi output")) |
27 (defmethod midi-velocity ((event midi-pitched-event)) | 23 (defmethod midi-velocity ((event midi-pitched-event)) |
28 (%midi-pitched-event-velocity event)) | 24 (%midi-pitched-event-velocity event)) |
29 (defmethod midi-velocity ((event midi-percussive-event)) | 25 (defmethod midi-velocity ((event midi-percussive-event)) |
30 (%midi-percussive-event-velocity event)) | 26 (%midi-percussive-event-velocity event)) |
31 | 27 |
28 (defgeneric (setf midi-velocity) (value event)) | |
29 (defmethod (setf midi-velocity) (value (event midi-pitched-event)) | |
30 (setf (%midi-pitched-event-velocity event) value) event) | |
31 (defmethod (setf midi-velocity) (value (event midi-percussive-event)) | |
32 (setf (%midi-percussive-event-velocity event) value) event) | |
33 | |
32 (defgeneric midi-patch (event) | 34 (defgeneric midi-patch (event) |
33 (:documentation "MIDI patch (instrumental sound). Also used for | 35 (:documentation "MIDI patch (instrumental sound). Also used for |
34 midi output")) | 36 midi output")) |
35 (defmethod midi-patch ((event midi-pitched-event)) | 37 (defmethod midi-patch ((event midi-pitched-event)) |
36 (%midi-pitched-event-patch event)) | 38 (%midi-pitched-event-patch event)) |
37 | 39 (defmethod midi-patch ((event midi-percussive-event)) |
38 (defgeneric midi-note-number (event) | 40 (%midi-percussive-event-patch event)) |
39 (:documentation "Same as get-pitch-for-midi")) | 41 |
40 (defmethod midi-note-number ((event midi-percussive-event)) | 42 (defgeneric (setf midi-patch) (value event)) |
41 (midi-drum-sound event)) | 43 (defmethod (setf midi-patch) (value (event midi-pitched-event)) |
42 (defmethod midi-note-number ((event midi-pitched-event)) | 44 (setf (%midi-pitched-event-patch event) value) event) |
43 (midi-pitch-number event)) | 45 (defmethod (setf midi-patch) (value (event midi-percussive-event)) |
46 (setf (%midi-percussive-event-patch event) value) event) | |
44 | 47 |
45 (defgeneric midi-drum-sound (event) | 48 (defgeneric midi-drum-sound (event) |
46 (:documentation "MIDI pitch for unpitched events (usually, drum | 49 (:documentation "MIDI pitch for unpitched events (usually, drum |
47 sound for drum kits on channel 10, but also for semi-pitched | 50 sound for drum kits on channel 10, but also for semi-pitched |
48 SFX, etc). Also used for midi output")) | 51 SFX, etc). Also used for midi output")) |
49 (defmethod midi-drum-sound ((event midi-percussive-event)) | 52 (defmethod midi-drum-sound ((event midi-percussive-event)) |
50 (%midi-percussive-event-sound event)) | 53 (%midi-percussive-event-sound event)) |
54 | |
55 (defgeneric (setf midi-drum-sound) (value event)) | |
56 (defmethod (setf midi-drum-sound) (value (event midi-percussive-event)) | |
57 (setf (%midi-percussive-event-sound event) value) event) | |
58 | |
59 (defgeneric midi-note-number (event) | |
60 (:documentation "Same as get-pitch-for-midi")) | |
61 (defmethod midi-note-number ((event midi-pitched-event)) | |
62 (midi-pitch-number event)) | |
63 (defmethod midi-note-number ((event midi-percussive-event)) | |
64 (midi-drum-sound event)) | |
51 | 65 |
52 (defgeneric midi-drum-sound= (event1 event2)) | 66 (defgeneric midi-drum-sound= (event1 event2)) |
53 (defmethod midi-drum-sound= ((event1 midi-percussive-event) | 67 (defmethod midi-drum-sound= ((event1 midi-percussive-event) |
54 (event2 midi-percussive-event)) | 68 (event2 midi-percussive-event)) |
55 (= (midi-drum-sound event1) (midi-drum-sound event2))) | 69 (= (midi-drum-sound event1) (midi-drum-sound event2))) |