       (let [x (* step dx)]
         (draw g (rounded-rect x 0 dx h) current-step-style)))
     (dotimes [r rows]
-      (let [y (* r dy)
-            p (get-param-info state r)]
+      (let [y (* r dy)]
         (draw g (line 0 y w y) grid-line-style)
         (dotimes [c cols]
           (let [x (* c dx)]
             (draw g (line x 0 x h) grid-line-style)
-            (when-let [val (get-entry state r c)]
-              (let [paint-cell
-                    #(draw g
-                           (rounded-rect (+ x 2) (+ y 2) (- dx 3) (- dy 3) 3 3)
-                           %)]
-                (if (:on val)
-                  (let [p-fact (get-param-factor p val)]
-                    (paint-cell (scaled-entry-style p-fact)))
-                  (paint-cell muted-entry-style))))))))))
-
-(defn- scaled-param-map
-  [state row val]
-  (let [{:keys [max min name]} (get-param-info state row)
-        p-name (keyword name)
-        p-val (-> val
-                (* (- max min))
-                (+ min))]
-    {p-name p-val}))
+            (when (get-entry state r c)
+              (draw g
+                    (rounded-rect (+ x 2) (+ y 2) (- dx 4) (- dy 4) 8 8)
+                    enabled-entry-style))))))
+    (draw g (rect 0 0 (dec w) (dec h)) grid-line-style)))
 
 (defn- parse-grid-click
   [state e]

    :background (color 128 128 224 200)
    :foreground (color 0 150 0)))

(defn- scaled-entry-style
  [n]
  (let [g (int (+ (* n 200) 55))
        bg (color 0 g 0 200)]
    (update-style enabled-entry-style :background bg)))

(defn- get-param-factor
  [p-info val]
  (let [{:keys [max min name default]} p-info
        p-val (or ((keyword name) val)
                  default)]
    (double (/ (- p-val min) (- max min)))))

(defn- paint-grid
  [state ^javax.swing.JComponent c g]
  (let [w    (width c)
        h    (height c)
        rows (count (:rows state))

                  (config! play-btn :text (if playing? "stop" "play"))
                  (if playing?
                    (step-player state-atom (metro))))))
      (listen plus-btn :action (fn [_] (swap! state-atom add-column)))
      (listen minus-btn :action (fn [_] (swap! state-atom remove-column)))
      (listen controls-btn :action
              (fn [e]
                (apply synth-controller instruments)))
