             :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

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

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

  (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
