view implementations/mtp/classes.lisp @ 127:dc862a0c7b9c

implementations/mtp/: add mtp-object darcs-hash:20070730142106-c0ce4-1db39f1d64c3b0f779dacf3474d1385e12b2d1cc.gz
author Marcus Pearce <m.pearce@gold.ac.uk>
date Mon, 30 Jul 2007 15:21:06 +0100
parents 23c3be4c445f
children 46c2ea86650f
line wrap: on
line source
(cl:in-package #:amuse-mtp) 

;;; Segmenters 

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

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

;;; Identifiers 

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

;;; Music objects 

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

(defclass mtp-dataset (amuse::list-slot-sequence mtp-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:composition mtp-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:pitched-event mtp-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)))