# HG changeset patch # User David Lewis # Date 1185813610 -3600 # Node ID b849c4fc4c26f45ef6f2cacb1cfd0928450d0824 # Parent e1afc3fef87b574fdca33ed4bef93d83481dc6a1 implementation/midi and /geerdes: add midi-object and geerdes-object darcs-hash:20070730164010-f76cc-baca3a289ca6c022c0085177d539e8c5c6fbea4e.gz diff -r e1afc3fef87b -r b849c4fc4c26 implementations/geerdes/classes.lisp --- 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))) diff -r e1afc3fef87b -r b849c4fc4c26 implementations/geerdes/methods.lisp --- 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)) diff -r e1afc3fef87b -r b849c4fc4c26 implementations/midi/classes.lisp --- 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))) diff -r e1afc3fef87b -r b849c4fc4c26 implementations/midi/methods.lisp --- 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 diff -r e1afc3fef87b -r b849c4fc4c26 implementations/midi/midifile-import.lisp --- 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)))