m@25
|
1 (cl:in-package #:amuse-midi)
|
m@25
|
2
|
d@136
|
3 (defclass midi-object (amuse-object) ()
|
d@134
|
4 (:documentation "MIDI base class"))
|
d@130
|
5
|
j@294
|
6 (defclass midifile-identifier (composition-identifier midi-object)
|
j@294
|
7 ((pathname :initarg :path
|
j@294
|
8 :reader midifile-identifier-pathname
|
j@294
|
9 :initform 'nil))
|
j@294
|
10 (:documentation "Identifier for MIDI files, containing pathname
|
j@294
|
11 information"))
|
j@294
|
12
|
d@136
|
13 (defclass midi-composition (standard-composition midi-object)
|
d@33
|
14 ((time-signatures :initarg :time-signatures
|
d@33
|
15 :initform 'nil
|
d@33
|
16 :accessor %midi-time-signatures)
|
d@33
|
17 (tempi :initarg :tempi
|
d@33
|
18 :initform 'nil
|
d@33
|
19 :accessor %midi-tempi)
|
d@115
|
20 (key-signatures :initarg :key-signatures
|
d@115
|
21 :initform 'nil
|
d@115
|
22 :accessor %midi-key-signatures)
|
d@33
|
23 (misc-controllers :initarg :controllers
|
j@281
|
24 :initform 'nil
|
j@281
|
25 :accessor %midi-misc-controllers)
|
j@281
|
26 (identifier :initarg :identifier
|
j@281
|
27 :reader identifier)
|
j@281
|
28 (midi-timebase :initarg :midi-timebase
|
j@281
|
29 :reader %midi-timebase))
|
d@134
|
30 (:documentation "Class for midi compositions, with time
|
d@134
|
31 signatures, tempi, key signatures and other controllers as
|
d@134
|
32 lists in slots"))
|
d@33
|
33
|
m@146
|
34 (defclass midi-monody (amuse:standard-monody midi-composition)
|
m@146
|
35 ())
|
m@146
|
36
|
d@130
|
37 (defclass midi-message (midi-object) ;?
|
m@25
|
38 ((channel :accessor %midi-message-channel :initarg :channel)
|
m@25
|
39 (track :accessor %midi-message-track :initarg :track)))
|
m@25
|
40
|
d@136
|
41 (defclass midi-pitched-event (standard-chromatic-pitched-event midi-message)
|
d@32
|
42 ((velocity :initarg :velocity
|
d@32
|
43 :accessor %midi-pitched-event-velocity)
|
d@32
|
44 (patch :initarg :patch
|
d@134
|
45 :accessor %midi-pitched-event-patch))
|
d@134
|
46 (:documentation "Adds MIDI information to chromatic-pitched-event"))
|
m@25
|
47
|
d@136
|
48 (defclass midi-percussive-event (standard-percussive-event midi-message)
|
d@32
|
49 ((velocity :initarg :velocity
|
d@32
|
50 :accessor %midi-percussive-event-velocity)
|
d@33
|
51 (patch :initarg :patch
|
d@33
|
52 :accessor %midi-percussive-event-patch)
|
d@33
|
53 (sound :initarg :sound
|
d@134
|
54 :accessor %midi-percussive-event-sound))
|
d@134
|
55 (:documentation "Adds MIDI information to percussive-event"))
|
m@25
|
56
|