view implementations/mtp/classes.lisp @ 186:03be243f9003

implementations/mtp/classes.lisp: Add BIOI (Basic IOI) as a basic viewpoint. darcs-hash:20081103124142-c0ce4-272df768ca2816412f1a4f89297e68d4ef35b4fd.gz
author Marcus Pearce <m.pearce@gold.ac.uk>
date Mon, 03 Nov 2008 12:41:42 +0000
parents 4a0e15e2829a
children df5d60cda9a2 984e0b4dfaab 5271a0aa06d6
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 (composition-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:standard-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)  time / (amuse:timepoint ...)
   ;;(dur :initarg :dur :accessor %mtp-accidental) interval / (amuse:duration ...)
   (bioi :initarg :bioi :accessor %mtp-bioi)
   (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)))