# HG changeset patch # User m.pearce # Date 1181845062 -3600 # Node ID 0f31919a855df9e3839ab3cc2fb17befc850848f # Parent 085c1728480cf9358d2454157941d9aa10f18ddc Implement and export KEY-SIGNATURE-MODE, export {MAKE-,}MIDI-KEY-SIGNATURE. darcs-hash:20070614181742-aa3d6-8a81a04b3df6db990c71a8aef653b69249e331c8.gz diff -r 085c1728480c -r 0f31919a855d base/generics.lisp --- a/base/generics.lisp Thu Jun 14 17:02:42 2007 +0100 +++ b/base/generics.lisp Thu Jun 14 19:17:42 2007 +0100 @@ -65,6 +65,7 @@ (t (/ 4 (beat-units ts)))))) (defgeneric key-signature-sharps (key-signature)) +(defgeneric key-signature-mode (ks)) (defgeneric bpm (tempo)) ;; in bpm (defgeneric microseconds-per-crotchet (tempo) diff -r 085c1728480c -r 0f31919a855d base/methods.lisp --- a/base/methods.lisp Thu Jun 14 17:02:42 2007 +0100 +++ b/base/methods.lisp Thu Jun 14 19:17:42 2007 +0100 @@ -33,6 +33,9 @@ (defmethod key-signature-sharps ((key-signature basic-key-signature)) (%basic-key-signature-sharp-count key-signature)) +(defmethod key-signature-mode ((ks midi-key-signature)) + (%midi-key-signature-mode ks)) + (defmethod bpm ((tempo tempo)) (%tempo-bpm tempo)) diff -r 085c1728480c -r 0f31919a855d base/package.lisp --- a/base/package.lisp Thu Jun 14 17:02:42 2007 +0100 +++ b/base/package.lisp Thu Jun 14 19:17:42 2007 +0100 @@ -25,6 +25,7 @@ #:basic-time-signature #:key-signature #:basic-key-signature + #:midi-key-signature #:tempo #:get-composition #:time-signatures @@ -45,6 +46,7 @@ #:time-signature-denominator #:tactus-duration #:key-signature-sharps + #:key-signature-mode #:bpm #:microseconds-per-crotchet #:anchored-period @@ -105,5 +107,6 @@ #:make-chromatic-pitched-event #:make-basic-time-signature #:make-basic-key-signature + #:make-midi-key-signature #:make-tempo ))