   (let [r (inst->index (:rows state) inst)]
     (toggle-row-mute state r)))
 
+(defn- on-solo-toggle
+  [state inst e]
+  (let [r (inst->index (:rows state) inst)]
+    (toggle-row-solo state r)))
+
 (defn- step-grid
   [state-atom]
   (let [state @state-atom

                    {:inst  i
                     :param (-> i :params first :name)
                     :mute  false
                     :value i-vals})))
   })


      (bind/bind bpm-spinner (bind/b-do [v] (metro :bpm v)))
      (bind/bind state-atom (bind/b-do [v] (repaint! grid)))

      (swap! state-atom assoc-in [:solo-bg]
             (button-group :buttons (select f [:.solo])))

      (listen play-btn :action
              (fn [e]
                (let [playing? (:playing? (swap! state-atom toggle-playing))]
