d@88
|
1 (cl:in-package #:amuse-geerdes)
|
d@88
|
2
|
d@88
|
3 (defclass property-list-mixin ()
|
d@88
|
4 ((properties :initarg :properties :accessor properties :initform nil)))
|
d@88
|
5
|
d@88
|
6 (defclass geerdes-identifier (identifier) ())
|
d@88
|
7 (defclass geerdes-identifier-cat-id (geerdes-identifier)
|
d@88
|
8 ((cat-id :initarg :cat-id
|
d@88
|
9 :initform 'nil)))
|
d@88
|
10 (defclass geerdes-identifier-file-id (geerdes-identifier)
|
d@88
|
11 ((file-id :initarg :file-id
|
d@88
|
12 :initform 'nil)))
|
d@88
|
13
|
d@88
|
14 (defclass geerdes-composition (midi-composition property-list-mixin)
|
d@88
|
15 ((db-entry :initarg :db-entry
|
d@88
|
16 :initform nil
|
d@88
|
17 :accessor %db-entry)
|
d@88
|
18 (bar-numbers :initform nil
|
d@88
|
19 :accessor %bar-numbers)
|
d@88
|
20 (monody :initform nil
|
d@88
|
21 :accessor %monody)
|
d@88
|
22 (caches :initform nil
|
d@88
|
23 :accessor %caches)
|
d@88
|
24 (midi-constituents :initarg :constituents
|
d@88
|
25 :accessor %midi-constituents)
|
d@88
|
26 (midi-events :initarg :midi-events
|
d@88
|
27 :accessor %midi-events)
|
d@88
|
28 (midi-timebase :initarg :midi-timebase
|
d@88
|
29 :accessor %midi-timebase)
|
d@88
|
30 (identifier :initarg :id
|
d@88
|
31 :accessor %fast-identifier)
|
d@88
|
32 (db-cat-id :initarg :cat-id
|
d@88
|
33 :accessor %db-cat-id)
|
d@88
|
34 (db-file-id :initarg :file-id
|
d@88
|
35 :accessor %db-file-id)))
|
d@88
|
36
|
d@88
|
37 (defclass geerdes-monody (monody geerdes-composition)
|
d@88
|
38 ;; FIXME: necessary slots? Do we even use them?
|
d@88
|
39 ((inter-onset-intervals :initarg :i-o-i
|
d@88
|
40 :initform nil
|
d@88
|
41 :accessor %i-o-i)
|
d@88
|
42 (inter-onset-interval-mode :initarg :ioi-mode
|
d@88
|
43 :initform 0
|
d@88
|
44 :accessor %ioi-mode)))
|
d@88
|
45
|
d@88
|
46 (defclass geerdes-pitched-event (midi-pitched-event property-list-mixin)
|
d@88
|
47 ((id :initarg :id
|
d@88
|
48 :accessor %geerdes-pitched-event-id)))
|
d@88
|
49
|
d@88
|
50 (defclass geerdes-percussive-event (midi-percussive-event property-list-mixin)
|
d@88
|
51 ((id :initarg :id
|
d@88
|
52 :accessor %geerdes-percussive-event-id)))
|