# HG changeset patch # User j.forth # Date 1256403972 -3600 # Node ID 39f5fc5729531b06f43b07bd4593afd18216adce # Parent fbeaedd242c6aec64393f25a86384e3d48fe3042 DRAFT: kludge for tactus-duration Ignore-this: b5cb875a6d31e7ea35394f335abaddc0 darcs-hash:20091024170612-16a00-3a9ab095515a8510393ac4e61767ddae7a811870.gz diff -r fbeaedd242c6 -r 39f5fc572953 base/generics.lisp --- a/base/generics.lisp Tue Oct 20 10:15:37 2009 +0100 +++ b/base/generics.lisp Sat Oct 24 18:06:12 2009 +0100 @@ -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))