diff implementations/gsharp/methods.lisp @ 168:f1d0ea63581c

Improved spelling for score output. amuse-gsharp now depends on ps13 darcs-hash:20080103134532-40ec0-e36c64cecc14ce9f821da7381d546c9e87bc7f63.gz
author d.lewis <d.lewis@gold.ac.uk>
date Thu, 03 Jan 2008 13:45:32 +0000
parents 83023a2668d2
children e5de0895d843
line wrap: on
line diff
--- a/implementations/gsharp/methods.lisp	Tue Jan 01 13:22:15 2008 +0000
+++ b/implementations/gsharp/methods.lisp	Thu Jan 03 13:45:32 2008 +0000
@@ -55,3 +55,16 @@
   (gsharp::frame-find-file frame (%gsharp-identifier-pathname id)))
 (defmethod import-from-identifier (frame (id gsharp-mxml-identifier))
   (clim:execute-frame-command frame `(gsharp::com-import-musicxml ,(%gsharp-identifier-pathname id))))
+
+(defmethod get-applicable-key-signatures (anchored-period (composition gsharp-composition))
+  (let ((keysigs))
+    (sequence::dosequence (event composition (reverse keysigs))
+      (cond
+        ((overlaps event anchored-period)
+         (unless (member (gsharp::keysig event) keysigs)
+           (push (gsharp::keysig event) keysigs)))
+        ((not (before event anchored-period))
+         (return-from get-applicable-key-signatures (reverse keysigs)))))))
+
+(defmethod crotchet ((object gsharp-object))
+  (make-standard-period 1))
\ No newline at end of file