                 :pnames pnames
                 :ugens detailed}
                {:type :overtone.core.synthdef/synthdef})))
-
-(defn control-proxy [name]
-  (with-meta {:name (str name)}
-             {:type ::control-proxy}))
 
 ; TODO: This should eventually handle optional rate specifiers, and possibly
 ; be extended with support for defining ranges of values, etc...

(def *ugens* nil)
(def *constants* nil)
(def *params* nil)

(defn- index-of [col item]
  (first (first (filter (fn [[i v]] 

  ugens according to the arguments in the initial definition."
  [ugen ugens constants grouped-params]
  {:pre [(contains? ugen :args)
         (every? #(or (ugen? %) (number? %) (control-proxy? %)) (:args ugen))]
   :post [(contains? % :inputs) 
          (every? (fn [in] (not (nil? in))) (:inputs %))]}
  (let [inputs (flatten 
