   (let [q {:tracks [:a :b :c :d] :next-track 2}]
     ;; can only remove unplayed tracks from queue
     (is (= (remove-from-queue q :c) {:tracks [:a :b :d] :next-track 2}))
-    (is (= (remove-from-queue q :a) q))))
-
-
+    (is (= (remove-from-queue q :a) q)))
+  (let [q (empty-queue)]
+    ;; ok to remove a track that's not there
+    (is (= (remove-from-queue q :foo) q))))
+
+
+(defn enqueue-track [queue track]
+  (update-in queue [:tracks] conj track))
 
 (defn search-results []
   (om/ref-cursor (:results (:search (om/root-cursor app-state)))))

(defn sync-transport [_ ref o n]
  (let [desired (:player n)
        actual (player-el)
        urls (music-in-queue? (:track-number desired))]

    ;; find out what track we should be playing
    (let [bits (best-media-url urls)

                         {:init-state {:string ""}})
               (om/build results-view (:results search))))))

#_
(defn print-debuggy-stuff []
  (let [p (player-el)]
    (println [(.-currentTime p)
