Mercurial > hg > amuse
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