      (ensure bpb)
      (ensure bpp)
      (+ (* p (metro-ding metro)) @start)))
+
   (metro-phrase-phase [metro]
     (dosync
      (ensure start)

                       (ensure start)
                       (ensure bpm)
                       (marker-number (now) @start (metro-tick metro))))
  (metro-beat [metro b] (dosync
                         (ensure start)
                         (ensure bpm)
                         (+ (* b (metro-tick metro)) @start)))
  (metro-beat-phase [metro]
    (dosync
     (ensure start)
     (ensure bpm)
     (marker-phase (now) @start (metro-tick metro))))
  (metro-beat-phase [metro phase]
    (dosync
     (ensure bpm)

           shift (round (* (metro-tock metro) (if (> delta 0.5) (dec delta)
                                                  (if (< delta -0.5) (inc delta) delta))))]
       (alter start - shift))))

  (metro-phrase [metro]
    (dosync
     (ensure start)
