   variable inlets has been set."
   [this new-value]
   (let [inlet (.parentGetInlet this)]
-    (timbre/info "received float" new-value "on inlet" inlet)
     (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) inlet)
+      (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))

  and outlets supported by this object, and registers our interest in
  cue state with Afterglow."
  [this x y]
  (let [type-string (str "m" (cue-variable-type-string this))]
    (.parentDeclareTypedIO this type-string type-string))
  (.parentSetInletAssist this (into-array String (concat ["start, end, kill: control cue; end and kill can take id"]
                                                         (cue-variable-names this))))
  (.parentSetOutletAssist this (into-array String (concat ["reports changes in cue state and associated id values"]
                                                          (cue-variable-names this))))
  (.parentCreateInfoOutlet this false)
  (swap! (.state this) assoc :f (fn [new-state _ id] ; TODO: Include readable effect name as another atom
                                  (let [cue-name (get-in @(.state this) [:cue :name])]
                                    (.outlet this 0 (name new-state)
                                             (into-array Atom [(Atom/newAtom id) (Atom/newAtom cue-name)])))))
  (controllers/add-cue-fn! (:cue-grid *show*) x y (:f @(.state this))))

;; TODO: Start it over if it is ending.
(defn- -start
  "Start the cue if it is not already running."
  [this]
  (let [{:keys [x y]} @(.state this)
        [_ active] (show/find-cue-grid-active-effect *show* x y)]
    (when-not active
      (show/add-effect-from-cue-grid! x y))))

(defn- -end

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