                                    (vec (repeat steps false)))]
                     {:inst  i
                      :param (-> i :params first :name)
+                     :mute  false
                      :value i-vals})))
    })
 

        (swap! state-atom assoc-in [:step] index)

        (doseq [row (:rows state)]
          (at (metro beat) (play-step row index)))

        (apply-at (metro next-beat) #'step-player
                  [state-atom next-beat])))))

(defn- on-param-selection
  [state inst e]
  (let [r (inst->index (:rows state) inst)]
    (set-row-param state r (selection e))))

(defn- on-mute-toggle
  [state inst e]
  (let [r (inst->index (:rows state) inst)]
    (toggle-row-mute state r)))

(defn- step-grid
  [state-atom]
