   (swap! new-device-handlers disj f))
 
 (defonce ^{:private true
-          :doc "Functions to be called when a device disappears from
+           :doc "Functions to be called when a device disappears from
   the MIDI environment. Keys are the `javax.sound.midi.MidiDevice`
   whose departure is of interest, and values are a set of functions to
   be called if and when that device ceases to exist. They will be

  (:import [java.io InputStream]
           [java.util.concurrent LinkedBlockingDeque]
           [java.util.regex Pattern]
           [javax.sound.midi MidiDevice MidiDevice$Info]))

(def ^:private max-clock-intervals
  "How many MIDI clock pulses and interval averages should be kept

          (let [connected (connect-midi-out output)]
               (doseq [handler @new-device-handlers]
                 (handler connected)))
          (catch MidiUnavailableException e)  ; If we can't have it, give up gracefully
          (catch Throwable t
            (timbre/error t "Unable to connect MIDI output" output))))))
  (vals @midi-outputs))
