# HG changeset patch # User j.forth # Date 1298546598 0 # Node ID 7a5618d334e4b6e8f3050f40fc7854de495cc377 # Parent 32b40c50075e9446f731f763ca114f1fd0caab15 DRAFT: kludge for tactus-duration Ignore-this: b5cb875a6d31e7ea35394f335abaddc0 darcs-hash:20091024170612-16a00-3a9ab095515a8510393ac4e61767ddae7a811870.gz committer: Jamie Forth diff -r 32b40c50075e -r 7a5618d334e4 base/generics.lisp --- a/base/generics.lisp Thu Feb 24 11:23:18 2011 +0000 +++ b/base/generics.lisp Thu Feb 24 11:23:18 2011 +0000 @@ -160,10 +160,14 @@ (:documentation "Not obviously meaningful for non fraction-like time signatures")) (defgeneric tactus-duration (time-signature) - ;; basic, but should do? + ;; basic, but should do? NO! This defines 6/4 as compound. We need + ;; proper simplep and compoundp predicates. (:method (ts) + (warn "FIXME: tactus-duration is broken") (cond - ((and (not (= (beat-units-per-bar ts) 3)) + ;; ((and (not (= (beat-units-per-bar ts) 3)) + ;; (= (rem (beat-units-per-bar ts) 3) 0)) + ((and (= (beat-units ts) 8) (= (rem (beat-units-per-bar ts) 3) 0)) ;; compound time (* (/ 4 (beat-units ts))