view implementations/gsharp/classes.lisp @ 217:d8f650e3796e

Rationalise base and geerdes classes, constructors and methods. Ignore-this: d9d4d88566a6d110844d91d4c70513cd Towards a more standardised interface. Some of these changes (generalised constructors and reader functions) are necessary for amuse-database-admin functionality and some other CHARM-like things. darcs-hash:20090716154406-16a00-8a9b4fb1fc1f5ba75af66a1bbd87e1bb68e02493.gz committer: Jamie Forth <j.forth@gold.ac.uk>
author j.forth <j.forth@gold.ac.uk>
date Thu, 24 Feb 2011 11:23:18 +0000
parents 22ac5ec1733c
children bc893627f92d
line wrap: on
line source
(cl:in-package "AMUSE-GSHARP")

(defclass gsharp-object ()())

(defclass gsharp-composition (amuse:standard-composition gsharp-object)
  ((buffer :initarg :buffer :reader buffer)
   (tempi :initarg :tempi :reader tempi)
   (key-signatures :initarg :key-signatures
                   :initform nil
                   :accessor %gsharp-key-signatures)
   (time-signatures :initarg :time-signatures
                    :initform nil
                    :accessor %gsharp-time-signatures)))

(defclass gsharp-pitched-event (standard-chromatic-pitched-event gsharp-object)
  ((note :initarg :note :reader note)
   (slice-index :initarg :slice-index)))

(defclass gsharp-identifier (composition-identifier gsharp-object)
  ((pathname :initarg :path
             :reader %gsharp-identifier-pathname
	     :initform 'nil))
  (:documentation "Identifier for files that can be read in GSharp,
  containing pathname information"))

(defclass gsharp-gsh-identifier (gsharp-identifier)
  ()
  (:documentation "Identifier for .gsh files for gsharp"))

(defclass gsharp-mxml-identifier (gsharp-identifier)
  ()
  (:documentation "Identifier for MusicXML files for gsharp"))

(defclass gsharp-import-mixin (gsharp-object)
  ((gsh-source :initarg :source :accessor gsh-source)))
(defclass gsharp-key-signature-period (standard-key-signature-period gsharp-import-mixin)
  ())
(defclass gsharp-time-signature-period (standard-time-signature-period gsharp-import-mixin)
  ())