      (let [[data c] (alts! [c-touch c-orientation-change (timeout frame-delay)])]
        (condp = c
          c-orientation-change (recur (update-size instrument canvas-id))
-         c-touch (recur (fire-touch-data-on-instrument instrument data))
+         c-touch (recur (fire-touches-on-instrument instrument data))
          (recur (tick instrument frame-delay)))))))

         (delete-scrolled-notes scroll-touches)
         (record-touches touches))))

(defn fire-touch-data-on-instrument
  [instrument data]
  (let [touches (touch-data->touches data)]
    (->> instrument
         maybe-init-synths
         (start-notes touches)
         (end-notes touches)
         (handle-scrolling touches))))

(defn update-size [instrument canvas-id]
  (let [{w :w h :h :as window-size} (util/get-window-size)]


(defn create-touch-input-channel
  [canvas-id]
  (async/merge [(touches canvas-id :touchstart)
                (touches canvas-id :touchend)
                (touches canvas-id :touchmove)]))

(defn step-time
  [instrument delta]
