diff base/constructors.lisp @ 174:9b152d515275

New partially functional clefs darcs-hash:20080313112229-40ec0-35f844cc728dd8bc7061c9a876723012f8d83ef6.gz
author d.lewis <d.lewis@gold.ac.uk>
date Thu, 13 Mar 2008 11:22:29 +0000
parents ebfe054eea1c
children 54d79a2c82d2
line wrap: on
line diff
--- a/base/constructors.lisp	Thu Mar 13 11:20:51 2008 +0000
+++ b/base/constructors.lisp	Thu Mar 13 11:22:29 2008 +0000
@@ -109,3 +109,44 @@
 		 :bpm bpm
 		 :time onset
 		 :interval duration))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;; Experimental:
+;;
+
+(defun make-standard-clef-period (type line onset duration &key octave-shift)
+  "Constructor for standard-clef-periods"
+  (make-instance 'standard-clef-period
+                 :type type
+                 :line line
+                 :octave-shift octave-shift
+                 :time onset
+                 :interval duration))
+
+(defun make-standard-treble-clef-period (onset duration)
+  "Convenience function for making treble clefs"
+  (make-instance 'standard-clef-period
+                 :type :G
+                 :line 2
+                 :octave-shift nil
+                 :time onset
+                 :interval duration))
+
+(defun make-standard-bass-clef-period (onset duration)
+  "Convenience function for making bass clefs"
+  (make-instance 'standard-clef-period
+                 :type :F
+                 :line 4
+                 :octave-shift nil
+                 :time onset
+                 :interval duration))
+
+(defun make-standard-alto-clef-period (onset duration)
+  "Convenience function for making alto clefs"
+  (make-instance 'standard-clef-period
+                 :type :C
+                 :line 3
+                 :octave-shift nil
+                 :time onset
+                 :interval duration))
\ No newline at end of file