   Returns a vector of values."
   [node name-index n]
   (ensure-connected!)
-  (ensure-node-active! node "Attempting to access a node that has been destroyed.")
+  (ensure-node-active! node "reading a range of node values")
   (let [res   (recv "/n_setn")
         cvals (do (snd "/s_getn" (to-sc-id node) (to-str name-index) n)
                   (:args (deref! res (str "attempting to get " n " control values from arguement " name-index " for node " (with-out-str (pr node))))))]

  "The default error behaviour triggered when a user attempts to either
  control or kill an inactive node."
  [node err-msg]
  (condp = *inactive-node-modification-error*
    :silent    nil ;;do nothing
    :warning   (println "Warning - " err-msg node " " (with-out-str (print node)))
    :exception (throw (Exception. (str "Error - " err-msg " " (with-out-str (print node)))))
    (throw
     (IllegalArgumentException.
      (str "Unexpected value for *inactive-node-modification-error*: "
           *inactive-node-modification-error*
           "Expected one of :silent, :warning, :exception.")))))

(defonce ^{:private true} __PROTOCOLS__


      (node-paused? n)))

(defn- ensure-node-active!
  ([node] (ensure-node-active! ""))
  ([node err-msg]
     (when (node? node)
       (node-block-until-ready node))
