 
     (update-effect-list controller)
     (update-metronome-section controller)
+
+    ;; If the show has stopped without us noticing, enter stop mode
+    (when (and (nil? @(:task (:show controller))) (not @(:stop-mode controller)))
+      (enter-stop-mode controller))
 
     ;; Reflect the shift button state
     (swap! (:next-text-buttons controller)

                     ;; End stop mode
                     (with-show (:show controller)
                       (show/start!))
                     :done))
                 (handle-note-on [this controller message]
                   false)

        (write-display-cell controller 2 1 "       No effects")
        (write-display-cell controller 2 2 "are active.")))))

(declare enter-stop-mode)

(defn- update-interface
  "Determine the desired current state of the interface, and send any
  changes needed to get it to that state."
