   with no arguments to get the next beat number, or pass it a beat number
   to get the timestamp to play a note at that beat.
 
+  Metronome also works with bars. Set the number of beats per bar using
+  metro-bpb (defaults to 4). metro-bar returns a timestamp that can be used
+  to play a note relative to a specified bar.
+
   (def m (metronome 128))
   (m)          ; => <next beat number>
   (m 200)      ; => <timestamp of beat 200>

;  ([] (bar 1))
;  ([b] (* (bar 1) (first @*signature) b)))

(deftype Metronome [start bpm]

  IMetronome
  (metro-start [metro] @start)

  (m :bpm 140) ; => set bpm to 140"
  [bpm]
  (let [start (atom (now))
        bar-start (atom @start)
        bpm   (atom bpm)
        bpb   (atom 4)]
    (Metronome. start bar-start bpm bpb)))

;== Grooves
;
