      (let [s (mk-scope bus :bus-freq keep-on-top WIDTH HEIGHT)]
        (dosync (alter scopes* assoc (:id s) s))
        (scopes-start))))
-
-(defn pscope
-  "Creates a 'permanent' scope, where the window is always kept
-  on top of other OS windows. See scope."
-  ([& args]
-     (ensure-internal-server!)
-     (apply scope (concat args [:keep-on-top true]))))
-
 
 (defn- reset-scopes
   "Restart scopes if they have already been running"

  (dosync (ref-set scopes-running?* false)))

(defn- start-bus-synth
  [bus buf]
  (bus->buf :target @scope-group* bus buf))

(defn- scope-bus
  "Set a bus to view in the scope."
  [s]
  (let [buf (buffer SCOPE-BUF-SIZE)
        bus-synth (start-bus-synth (:num s) buf)]
    (assoc s
      :size SCOPE-BUF-SIZE
      :bus-synth bus-synth

  (:use [clojure.stacktrace]
        [overtone.helpers lib]
        [overtone.libs event deps]
        [overtone.sc defaults server synth ugens buffer node foundation-groups bus]
        [overtone.sc.cgens buf-io]
        [overtone.studio core util])
  (:require [clojure.set :as set]
