 
 (defrecord TunesMode
   [bands          ; Average energy per band
-   gain           ; Gain per band (static for now)
    decay          ; How quickly energy levels decay (frac/s)
    smoothing      ; Proportion to smooth input samples by (fraction of old average to keep)
    rotation       ; How much to rotate each band spatially

  [band elapsed decay]
  (-> band
      (update :energy * (ctl/bound [0.0 1.0] (- 1.0 (* 1/1000 decay elapsed))))
      (update :power  * (ctl/bound [0.0 1.0] (- 1.0 (* power-decay elapsed))))))


(defn- update-energy


(def power-factor 9/10)
(def power-decay 1/200)
(def power-target 2.0)


(defrecord FrequencyBand
