changeset 130:b849c4fc4c26

implementation/midi and /geerdes: add midi-object and geerdes-object darcs-hash:20070730164010-f76cc-baca3a289ca6c022c0085177d539e8c5c6fbea4e.gz
author David Lewis <d.lewis@gold.ac.uk>
date Mon, 30 Jul 2007 17:40:10 +0100
parents e1afc3fef87b
children 995819f3a1d0
files implementations/geerdes/classes.lisp implementations/geerdes/methods.lisp implementations/midi/classes.lisp implementations/midi/methods.lisp implementations/midi/midifile-import.lisp
diffstat 5 files changed, 13 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/implementations/geerdes/classes.lisp	Mon Jul 30 17:40:39 2007 +0100
+++ b/implementations/geerdes/classes.lisp	Mon Jul 30 17:40:10 2007 +0100
@@ -3,7 +3,9 @@
 (defclass property-list-mixin ()
   ((properties :initarg :properties :accessor properties :initform nil)))
 
-(defclass geerdes-identifier (identifier) ())
+(defclass geerdes-object (property-list-mixin) ())
+
+(defclass geerdes-identifier (identifier geerdes-object) ())
 (defclass geerdes-identifier-cat-id (geerdes-identifier)
   ((cat-id :initarg :cat-id
 	   :initform 'nil)))
@@ -11,7 +13,7 @@
   ((file-id :initarg :file-id
 	    :initform 'nil)))
 
-(defclass geerdes-composition (midi-composition property-list-mixin)
+(defclass geerdes-composition (midi-composition geerdes-object)
   ((db-entry :initarg :db-entry
 	     :initform nil
 	     :accessor %db-entry)
@@ -43,10 +45,10 @@
 			      :initform 0
 			      :accessor %ioi-mode)))
 
-(defclass geerdes-pitched-event (midi-pitched-event property-list-mixin)
+(defclass geerdes-pitched-event (midi-pitched-event geerdes-object)
   ((id :initarg :id
        :accessor %geerdes-pitched-event-id)))
 
-(defclass geerdes-percussive-event (midi-percussive-event property-list-mixin)
+(defclass geerdes-percussive-event (midi-percussive-event geerdes-object)
   ((id :initarg :id
        :accessor %geerdes-percussive-event-id)))
--- a/implementations/geerdes/methods.lisp	Mon Jul 30 17:40:39 2007 +0100
+++ b/implementations/geerdes/methods.lisp	Mon Jul 30 17:40:10 2007 +0100
@@ -145,7 +145,7 @@
 (defmethod lead-vocalp ((event geerdes-pitched-event))
   (= (midi-channel event) 4))
 
-(defmethod crotchet ((identifier geerdes-identifier))
+(defmethod crotchet ((object geerdes-object))
   (make-instance 'floating-period :interval 1))
 
 (defmethod get-applicable-time-signatures ((anchored-period anchored-period) (composition midi-composition))
--- a/implementations/midi/classes.lisp	Mon Jul 30 17:40:39 2007 +0100
+++ b/implementations/midi/classes.lisp	Mon Jul 30 17:40:10 2007 +0100
@@ -1,6 +1,8 @@
 (cl:in-package #:amuse-midi) 
 
-(defclass midi-composition (amuse:composition)
+(defclass midi-object (amuse:amuse-object) ())
+
+(defclass midi-composition (amuse:composition midi-object)
   ((time-signatures :initarg :time-signatures
 		    :initform 'nil
 		    :accessor %midi-time-signatures)
@@ -14,7 +16,7 @@
 		      :initform 'nil
 		      :accessor %midi-misc-controllers)))
 
-(defclass midi-message () ;?
+(defclass midi-message (midi-object) ;?
   ((channel :accessor %midi-message-channel :initarg :channel)
    (track :accessor %midi-message-track :initarg :track)))
 
--- a/implementations/midi/methods.lisp	Mon Jul 30 17:40:39 2007 +0100
+++ b/implementations/midi/methods.lisp	Mon Jul 30 17:40:10 2007 +0100
@@ -134,11 +134,5 @@
 	 (midi-velocity event2))
       2))
 
-(defmethod crotchet ((event midi-message))
+(defmethod crotchet ((object midi-object))
   (make-instance 'floating-period :interval 1))
-
-(defmethod crotchet ((composition midi-composition))
-  (make-instance 'floating-period :interval 1))
-
-(defmethod crotchet ((identifier midifile-identifier))
-  (make-instance 'floating-period :interval 1))
\ No newline at end of file
--- a/implementations/midi/midifile-import.lisp	Mon Jul 30 17:40:39 2007 +0100
+++ b/implementations/midi/midifile-import.lisp	Mon Jul 30 17:40:10 2007 +0100
@@ -1,6 +1,6 @@
 (cl:in-package #:amuse-midi) 
 
-(defclass midifile-identifier (identifier)
+(defclass midifile-identifier (identifier midi-object)
   ((pathname :initarg :path
 	     :reader midifile-identifier-pathname
 	     :initform 'nil)))