         mellist (map #(keyword (s/join [melprefix (str %)])) (range mellen))
         rhylist (map #(keyword (s/join [rhyprefix (str %)])) (range rhylen))
         idlist (vec (concat mellist rhylist))
-        circhash (atom '())]
+        circhash (atom {})]
     (doseq [k idlist]
       (let [w (select panel [k])]
         (swap! circhash assoc k (value w))))


(defn play
  ([metronome inst score {midiq :midi}]
     (play metronome (metronome) inst score {:midi midiq}))
  ([metronome beat instrument score {midiq :midi}]
     (let [cur-note (first score)]
       (when cur-note
         (let [next-beat (play-one metronome beat instrument cur-note {:midi midiq})]
           (o/apply-at (metronome next-beat) play metronome next-beat instrument
             (next score) {:midi midiq} []))))))

(def a-scale ["A" "B\u266D" "B" "C" "C\u266F" "D"
              "E\u266D" "E" "F" "F\u266F" "G" "G\u266F"] )

                           ;; spacer
                           (label :text ""
                                  :size [100 :by 30])
                           (label "Tempo:")
                           tempo-slider
                           ;; spacer
                           (label :text ""
                                  :size [100 :by 30])
                           (horizontal-panel
                            :items [(button :id :repeats
                                            :text "Repeat?"
                                            :listen [:action repeat-action])
                                    repeat-label])
                           (combobox :model instruments
                                     :id :instChooser
                                     :listen [:action inst-chooser])
                           (label "Instrument:")
                           (combobox :model instruments
                                     :id :instChooser
