diff base/constructors.lisp @ 24:8d2b1662f658

base/*.lisp: move files in amuse-base to subdirectory. darcs-hash:20061215161617-aa3d6-1b63bd555b02ec02aa2db12d335e8b726e2108cd.gz
author m.pearce <m.pearce@gold.ac.uk>
date Fri, 15 Dec 2006 16:16:17 +0000
parents
children d1010755f507
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/base/constructors.lisp	Fri Dec 15 16:16:17 2006 +0000
@@ -0,0 +1,58 @@
+(cl:in-package #:amuse)
+
+;; Time classes
+
+(defun make-moment (time)
+  (make-instance 'moment :time time))
+
+;; N.B. period should never be constructed directly - it's either
+;; floating or anchored or some other subclass.
+
+(defun make-floating-period (interval)
+  (make-instance 'floating-period :interval interval))
+
+(defun make-anchored-period (onset interval)
+  (make-instance 'anchored-period
+		 :time onset
+		 :interval interval))
+
+;; Pitch classes (no, not that sort of pitch class)
+
+(defun make-chromatic-pitch (pitch-number)
+  (make-instance 'chromatic-pitch :number pitch-number))
+
+(defun make-diatonic-pitch (name accidental octave)
+  (make-instance 'diatonic-pitch
+		 :name name
+		 :accidental accidental
+		 :octave octave))
+
+(defun make-pitch-interval (span)
+  (make-instance 'pitch-interval :span span))
+
+;; Events
+
+(defun make-chromatic-pitched-event (pitch-number onset duration)
+  (make-instance 'chromatic-pitched-event
+		 :number pitch-number
+		 :time onset
+		 :interval duration))
+
+(defun make-basic-time-signature (numerator denominator onset duration)
+  (make-instance 'basic-time-signature
+		 :numerator numerator
+		 :denominator denominator
+		 :time onset
+		 :interval duration))
+
+(defun make-basic-key-signature (sharp-count onset duration)
+  (make-instance 'basic-key-signature
+		 :sharp-count sharp-count
+		 :time onset
+		 :interval duration))
+
+(defun make-tempo (bpm onset duration)
+  (make-instance 'tempo
+		 :bpm bpm
+		 :time onset
+		 :interval duration))