                     :highest (max cur-val (:max cue-var))))
 
       (or (= (type cur-val) :com.evocomputing.colors/color) (= (:type cue-var) :color))
-      nil ;; TODO: Implement based on this:
-      #_(controllers/add-overlay (:overlays controller)
-                               (build-color-adjustment-overlay controller note cue cue-var effect info))
+      (let [current-color (or (cues/get-cue-variable cue cue-var :show (:show controller) :when-id effect-id)
+                              white-color)
+            hue (colors/hue current-color)
+            sat (colors/saturation current-color)]
+        (if (= encoder-count 1)
+          (if (odd? index)  ; We have room for just one gauge; draw whichever will be there in the overlay
+            (draw-saturation-gauge controller index 1 hue sat false)
+            (draw-hue-gauge controller index 1 hue false))
+          (do   ; We have room for both gauges
+            (draw-hue-gauge controller index 1 hue false)
+            (draw-saturation-gauge controller (inc index) 1 hue sat false))))
 
       (or (= (type cur-val) Boolean) (= (:type cue-var) :boolean))
       (draw-boolean-gauge controller index encoder-count cur-val))))

    (.setAngleStart arc (+ 270.0 (* -300.0 fraction)))
    (.setAngleExtent arc 0.0)
    (.draw graphics arc)))

(defn ^:deprecated make-pan-gauge
  "Create a graphical gauge with an indicator that moves along a line.

                                                                  (colors/darken current-color 20)
                                                                  (colors/lighten current-color 20))))))

              ;; Display the hue and saturation gauges
              (draw-hue-gauge controller (* 2 x) 1 hue (@anchors hue-note))
              (draw-saturation-gauge controller (inc (* 2 x)) 1 hue sat (@anchors sat-note))

              ;; Put the touch pad into the appropriate state
              (if (@anchors hue-note)
