   "Schedule the scope to be updated every (/ 1000 FPS) ms (unless the scopes are
   already running in which case it does nothing."
   []
+  (ensure-internal-server!)
   (dosync
    (when-not @scopes-running?*
      (at-at/every (/ 1000 FPS) update-scopes scope-pool)

      :or {bus 0
           buf -1
           keep-on-top false}}]
     (let [buf (if (buffer? buf) (:id buf) buf)
           kind (if (= -1 buf) :bus :buf)
           num  (if (= -1 buf) bus buf)

  (doall (map reset-data-arrays (vals @scopes*))))

(defn scopes-stop
  "Stop all scopes from running."
  []
  (ensure-internal-server!)
  (at-at/stop-and-reset-pool! scope-pool)
  (empty-scope-data)
  (dosync (ref-set scopes-running?* false)))
