 (defn- toggle-row-mute
   [state row]
   (update-in state [:rows row :mute] not))
+
+(defn- toggle-row-solo
+  [state row]
+  (update-in state [:rows row :solo] not))
+
+(defn- get-row-solo
+  [state row]
+  (get-in state [:rows row :solo]))
 
 (defn- get-row-param
   [state row]

      (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))]

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

