 (defn- scope-buf
   "Set a buffer to view in the scope."
   [s]
-  (let [info (buffer-info (:num s))]
+  (let [buf (:thing s)]
     (assoc s
-      :size (:size info)
-      :buf  info)))
+      :size (:size buf)
+      :buf  buf)))
 
 (defn scope-close
   "Close a given scope. Copes with the case where the server has crashed

(defn- scope-bus-freq
  [s]
  (let [buf (buffer SCOPE-BUF-SIZE)
        bus-synth (start-bus-freq-synth (:num s) buf)]
    (assoc s
      :size SCOPE-BUF-SIZE
      :bus-synth bus-synth

              (int (* y-scale
                      (aget ^floats frames (unchecked-multiply x step))))))
      (reset! y-arrays [y-b y-a])
      (.repaint panel))))

(defn- update-scopes []
  (try
    (dorun (map update-scope-data (vals @scopes*)))
    (catch Exception e
      (println "Exception when updating scopes:" (with-out-str (.printStackTrace e))))))

(defn- paint-scope [^Graphics g id]
  (if-let [scope (get @scopes* id)]
