   (let [inlet (.parentGetInlet this)
         {:keys [x y cue]} @(.state this)
         [_ active] (show/find-cue-grid-active-effect *show* x y)]
-    (timbre/info "got banged on inlet" inlet)
     (if (zero? inlet)  ; Cue control inlet?
       (if active  ; Transition the cue to the next appropriate state.
         (show/end-effect! (:key cue))

;; TODO: Should we detect changes in the cue stored at our cell, and shut down?

(defn cue-variables
  "Return the cue's variables, in sorted order by key name (regardless
  of whether the key is a string or keyword)."
  [this]
  (sort-by (comp name :key) (get-in @(.state this) [:cue :variables])))

(defn cue-variable-names
  "Return the user-oriented names of the cue's variable, in key
  order."
  [this]
  (map :name (cue-variables this)))

(defn cue-variable-type-string
  "Returns the type strings telling Max what kind of outlets each cue

  variable inlets has been set."
  [this new-value]
  (let [inlet (.parentGetInlet this)]
    (if (zero? inlet)  ; Only variable inlets accept floats, ignore attempts to send to 0, but complain.
      (timbre/error "Cue control inlet does not respond to numbers.")
      (let [v (nth (cue-variables this) (dec inlet))
            new-value (max new-value (:min v))  ; Restrict range of variable values as per cue specs.
            new-value (min new-value (:max v))]
        (if (keyword? (:key v))
