       (alter instruments* assoc-in [ins-name :fx-chain] [])))
   :clear)
 
-(defn start-mixer []
-  (Thread/sleep 2000)
-  (let [mix (mixer :tgt @mixer-group*)]
-    (dosync (ref-set mixer-id* mix))))
-
-(on-deps :studio-setup-completed ::start-mixer start-mixer)
-
 (defn setup-studio []
   (log/info (str "Creating studio group at head of: " (root-group)))
   (let [g (with-server-sync #(group :head (root-group)))

       (binding [*ugens* []
                 *constants* #{}]
         (with-overloaded-ugens
           (out MIXER-BUS ~@ugen-form)
           [~sname
            ~params
            *ugens*
            (into [] *constants*)])))))

(defmacro inst
  [sname & args]
  `(let [[sname# params# ugens# constants#] (pre-inst ~sname ~@args)
         sdef# (synthdef sname# params# ugens# constants#)
         sgroup# (or (:group (get @instruments* sname#))
                     (if (server-connected?)
                       (group :tail @inst-group*)
                       nil))
         arg-names# (map :name params#)
         params-with-vals# (map #(assoc % :value (atom (:default %))) params#)
         s-player# (synth-player sname# params-with-vals#)

                              :name sname#
                              :ugens ugens#
                              :sdef sdef#
                              :group igroup#
                              :mixer imixer#
                              :volume (atom DEFAULT-VOLUME)
                              :pan (atom DEFAULT-PAN)
                              :out-bus MIXER-BUS
                              :fx-chain []
                              :player player#
