 
 (defn- update-scope-data
   "Updates the scope by reading the current status of the buffer and repainting.
-  Currently only updates bus scope as there's a bug in scsynth-jna which crashes
-  the server after too many calls to buffer-data for a large buffer. As buffers
-  tend to be large, updating the scope frequently will cause the crash to happen
-  sooner. Need to remove this limitation when scsynth-jna is fixed."
+  Currently only updates bus scope as there's a bug in scsynth-jna which
+  crashes the server after too many calls to buffer-data for a large
+  buffer. As buffers tend to be large, updating the scope frequently
+  will cause the crash to happen sooner. Need to remove this limitation
+  when scsynth-jna is fixed."
   [s]
   (let [{:keys [buf size width height panel y-arrays x-array panel]} s
         frames    (if @(:update? s) (buffer-data buf) @(:frames s))

                                (satisfy-deps :scope-group-created)))

(defn- ensure-internal-server!
  "Throws an exception if the server isn't internal - scope relies on fast
  access to shared buffers with the server which is currently only available
  with the internal server. Also ensures server is connected."
  []
  (when (server-disconnected?)
    (throw (Exception. "Cannot use scopes until a server has been booted or connected")))

    panel))

(defn- scope-frame
  "Display scope window. If you specify keep-on-top to be true, the
  window will stay on top of the other windows in your environment."
  ([panel slider title keep-on-top width height]
     (let [f (JFrame. title)
           cp (.getContentPane f)
