      (ensure bpm)
      (ensure bpb)
      (ensure bpp)
-     (let [phase (metro-beat-phase metro)
-           shift (* (metro-tick metro) (if (> phase 0.5) (dec phase) phase))
+     (let [phase            (metro-beat-phase metro)
+           shift            (* (metro-tick metro) (if (> phase 0.5) (dec phase) phase))
            new-phrase-start (round (- (now) shift (* (dec start-phrase) (metro-ding metro))))]
        (ref-set start new-phrase-start))))
 

     (ensure bpm)
     (ensure bpb)
     (ensure bpp)
     (let [beat (marker-number instant @start (metro-tick metro))
           bar (marker-number instant @start (metro-tock metro))
           phrase (marker-number instant @start (metro-ding metro))
           beat-phase (marker-phase instant @start (metro-tick metro))
           bar-phase (marker-phase instant @start (metro-tock metro))
           phrase-phase (marker-phase instant @start (metro-ding metro))]
       (MetronomeSnapshot. @start @bpm @bpb @bpp instant beat bar phrase beat-phase bar-phase phrase-phase))))


    (dosync
     (ensure bpm)
     (ensure bpb)
     (let [phase         (metro-beat-phase metro)
           shift         (* (metro-tick metro) (if (> phase 0.5) (dec phase) phase))
           new-bar-start (round (- (now) shift (* (dec start-bar) (metro-tock metro))))]
       (ref-set start new-bar-start))))

