view implementations/mtp/classes.lisp @ 136:fd85f52d9f9d

Class revolution * PITCH-DESIGNATOR -> PITCH (PITCH removed) * MOMENT-DESIGNATOR -> MOMENT , MOMENT -> STANDARD-MOMENT * PERIOD-DESIGNATOR -> PERIOD , PERIOD -> STANDARD-PERIOD * ANCHORED-PERIOD-DESIGNATOR -> ANCHORED-PERIOD , ANCHORED-PERIOD -> STANDARD-ANCHORED-PERIOD * FLOATING-PERIOD removed * TIME-SIGNATURE-DESIGNATOR -> TIME-SIGNATURE & TIME-SIGNATURE-PERIOD * TIME-SIGNATURE -> STANDARD-TIME-SIGNATURE & STANDARD-TIME-SIGNATURE-PERIOD * KEY-SIGNATURE-DESIGNATOR -> KEY-SIGNATURE (& ...-PERIOD) * KEY-SIGNATURE -> STANDARD-KEY-SIGNATURE (& ...-PERIOD) * TEMPO now abstract (& TEMPO-PERIOD) * STANDARD-TEMPO AND STANDARD-TEMPO-PERIOD * COMPOSITION, CONSTITUENT & TIME-ORDERED-CONSTITUENT all have STANDARD- forms make-x methods and specialisers changes appropriately darcs-hash:20070831142943-f76cc-7be0d08963de06d87b36e4922076287d565c7ee2.gz
author David Lewis <d.lewis@gold.ac.uk>
date Fri, 31 Aug 2007 15:29:43 +0100
parents 46c2ea86650f
children b753a56c373b
line wrap: on
line source
(cl:in-package #:amuse-mtp) 

;;; Top-level class 

(defclass mtp-object (amuse:amuse-object) ())

;;; Segmenters 

(defclass mtp-after-segmenter (ground-truth-segmenter after-segmenter mtp-object)
  ())

(defclass mtp-before-segmenter (ground-truth-segmenter before-segmenter 
                                                       mtp-object)
  ())

;;; Identifiers 

(defclass mtp-dataset-identifier (identifier mtp-object)
  ((dataset-id :initarg :dataset-id :accessor dataset-id)))
   
(defclass mtp-composition-identifier (identifier mtp-object)
  ((dataset-id :initarg :dataset-id :accessor dataset-id)
   (composition-id :initarg :composition-id :accessor composition-id)))

;;; Music objects 

(defclass mtp-music-object (mtp-object) ())

(defclass mtp-dataset (amuse::list-slot-sequence mtp-music-object) 
  ((dataset-id :initarg :dataset-id :accessor dataset-id)
   (description :initarg :description :accessor description)
   (timebase :initarg :timebase :accessor dataset-timebase)
   (midc :initarg :midc :accessor dataset-midc)))

(defclass mtp-composition (amuse:standard-composition mtp-music-object)
  ((dataset-id :initarg :dataset-id :accessor dataset-id)
   (composition-id :initarg :composition-id :accessor composition-id)
   (description :initarg :description :accessor description)))

(defclass mtp-monody (amuse:monody mtp-composition) 
  ())

(defclass mtp-event (amuse:standard-pitched-event mtp-music-object)
  ((dataset-id :initarg :dataset-id :accessor dataset-id)
   (composition-id :initarg :composition-id :accessor composition-id)
   (event-id :initarg :event-id :accessor event-id)
   ;;(onset :initarg :onset :accessor %mtp-onset)  onset / (amuse:timepoint ...)
   ;;(dur :initarg :dur :accessor %mtp-accidental) interval / (amuse:duration  ...)
   (deltast :initarg :deltast :accessor %mtp-deltast)
   (cpitch :initarg :cpitch :accessor %mtp-cpitch)
   (mpitch :initarg :mpitch :accessor %mtp-mpitch)
   (accidental :initarg :accidental :accessor %mtp-accidental)
   (keysig :initarg :keysig :accessor %mtp-keysig)
   (mode :initarg :mode :accessor %mtp-mode)
   (barlength :initarg :barlength :accessor %mtp-barlength)
   (pulses :initarg :pulses :accessor %mtp-pulses)
   (phrase :initarg :phrase :accessor %mtp-phrase)
   (tempo :initarg :tempo :accessor %mtp-tempo)
   (dyn :initarg :dyn :accessor %mtp-dyn)
   (voice :initarg :voice :accessor %mtp-voice)))