   the incoming event info."
   ([path] (recv path nil))
   ([path matcher-fn]
+     (when-not (connected?)
+       (throw (Exception. "Unable to receive messages from a disconnected server. Please boot or connect to a server.")))
      (server-recv path matcher-fn)))
 
 (defn connect-external-server

      :author "Jeff Rose"}
  overtone.sc.server
  (:import [java.util.concurrent TimeoutException])
  (:use [overtone.sc.machinery.server connection comms ]
   [overtone.util.lib :only [await-promise!]]
        [overtone.libs event]
;;        [overtone.sc.machinery defaults allocator]
;;
        )
  (:require [overtone.util.log :as log]))

(def OVERTONE-VERSION {:major 0

  []
  @server-status*)

(defn connected?
  "Returns true if the server is currently connected"
  []
  (= :connected (server-status)))

(defn disconnected?
  "Returns true if the server is currently disconnected"
  []
  (= :disconnected (server-status)))

(defmacro at
