 (ns overtone.gui.control
-  (:use overtone.libs.event
-        seesaw.core)
-  (:require [seesaw.bind :as bind]
-            [clojure.set :as set]))
+  (:use [seesaw core mig])
+  (:require [seesaw.bind :as bind]))
 
 (native!)
 

          (defsynth foo [freq {:default 440 :min 10 :max 10000 :step 1}] ...)
")
  (invoke-now
    (let [control-panes (map
                          (fn [{:keys [name default min max step value]}]
                            (control-slider name default min max step value))
                          (:params synth))
          pane (horizontal-panel :items control-panes)
          frame (frame :title (:name synth)
                       :content pane
                       :on-close :dispose)]

               slider)
    (bind/bind spinner val-atom)
    (bind/bind val-atom spinner)
    items))

(defn synth-controller
  "Create a GUI for the given synth or instrument.  Requires sufficient parameter metadata in the synthdef.
