                                                   (go (>! set-state-ch id)))}
                                (dom/option nil "synth")
                                (dom/option nil "sample")
-                               (dom/option nil "play")
                                (dom/option nil "grid"))
         :immutable (dom/span nil (get cursor "type"))))))
 

                                                                (dom/td nil "grid-type:")
                                                                (dom/td nil (om/build grid-type-editor input)))
                                                        fx-row])
                                              [(dom/tr nil
                                                       (dom/td nil nil)
                                                       (dom/td nil "params:")
                                                       (dom/td nil (om/build param-editor input)))
                                               fx-row])
                                            [(dom/tr nil
                                                     (dom/td closer "}")
                                                     (dom/td nil nil)

                                    :onClick #(handle-change % owner state :type)
                                    :onKeyDown #(when (= 13 (.-which %))
                                                  (om/update-state! owner (fn [s] (merge s {:state :immutable})))
                                                  (condp = (:type state)
                                                    "synth"
                                                    (om/transact! cursor (fn [c] (assoc c
                                                                                        "type" (:type state)
                                                                                        "synth-params" {})))
                                                    "sample"
                                                    (om/transact! cursor (fn [c] (assoc c
                                                                                        "type" (:type state)
                                                                                        "sample-params" {})))
                                                    "grid"
                                                    (let [grid-id (new-id)
                                                          grid {"name" ""
                                                                "grid-id" grid-id
