Mercurial > hg > amuse
view constructors.lisp @ 19:2f331bbdfab8
Added preliminary support for time- and key-signatures and for tempi
darcs-hash:20061213155334-f76cc-a1ece6adfd1e6292e1f67418ddb3f38a56ad2233.gz
author | David Lewis <d.lewis@gold.ac.uk> |
---|---|
date | Wed, 13 Dec 2006 15:53:34 +0000 |
parents | 70e76c1c87b7 |
children | 99ccd775245a |
line wrap: on
line source
(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-midi-pitched-event (pitch-number velocity patch channel track onset duration) (make-instance 'midi-pitched-event :number pitch-number :velocity velocity :patch patch :channel channel :track track :time onset :interval duration)) (defun make-midi-percussive-event (pitch-number velocity patch channel track onset duration) (make-instance 'midi-percussive-event :sound pitch-number :velocity velocity :patch patch :channel channel :track track :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-midi-key-signature (sharp-count mode onset duration) (make-instance 'midi-key-signature :sharp-count sharp-count :mode mode :time onset :interval duration)) (defun make-tempo (bpm onset duration) (make-instance 'tempo :bpm bpm :time onset :interval duration))