         fx-info @(:active-effects (:show controller))
         fx (:effects fx-info)
         fx-meta (:meta fx-info)
-        num-skipped (- (count fx-meta) room)]
+        num-skipped (- (count fx-meta) room @(:effect-offset controller))]
     (if (seq fx)
-      (do (loop [fx (drop num-skipped fx)
-                 fx-meta (drop num-skipped fx-meta)
+      (do (loop [fx (take room (drop num-skipped fx))
+                 fx-meta (take room (drop num-skipped fx-meta))
                  x first-cell]
             (let [effect (:effect (first fx))
                   info (first fx-meta)


    44 ; Left arrow
    (when (pos? (:velocity message))
      (let [[x y] @(:origin controller)]
        (when (pos? x)
          (reset! (:origin controller) [(max 0 (- x 8)) y])
          (add-button-held-feedback-overlay controller (:left-arrow control-buttons)))))

    45 ; Right arrow
    (when (pos? (:velocity message))
      (let [[x y] @(:origin controller)]
        (when (> (- (controllers/grid-width (:cue-grid (:show controller))) x) 7)
          (reset! (:origin controller) [(+ x 8) y])
          (add-button-held-feedback-overlay controller (:right-arrow control-buttons)))))

    46 ; Up arrow
    (when (pos? (:velocity message))
      (let [[x y] @(:origin controller)]
        (when (> (- (controllers/grid-height (:cue-grid (:show controller))) y) 7)
          (reset! (:origin controller) [x (+ y 8)])
          (add-button-held-feedback-overlay controller (:up-arrow control-buttons)))))

    47 ; Down arrow
    (when (pos? (:velocity message))
      (let [[x y] @(:origin controller)]
        (when (pos? y)
          (reset! (:origin controller) [x (max 0 (- y 8))])
          (add-button-held-feedback-overlay controller (:down-arrow control-buttons)))))

    59 ; User mode button
    (when (pos? (:velocity message))

        {:id (swap! controller-counter inc)
         :show show
         :origin (atom [0 0])
         :effect-offset (atom 0)
         :refresh-interval refresh-interval
         :port-in (midi/midi-find-device (amidi/open-inputs-if-needed!) device-name)
         :port-out (midi/midi-find-device (amidi/open-outputs-if-needed!) device-name)
