             :selection #(swap! state-atom on-param-selection inst %))
     (listen (select panel [:.mute])
             :selection #(swap! state-atom on-mute-toggle inst %))
+    (listen (select panel [:.solo])
+            :selection #(swap! state-atom on-solo-toggle inst %))
+
     panel))
 
 (defn step-sequencer

                    {: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))]
