Added a constructor function for codec-character-streams.
[lisp-utils.git] / mpcl.lisp
index 4cc6656..98a545e 100644 (file)
--- a/mpcl.lisp
+++ b/mpcl.lisp
                                 :message "Invalid response from mpd: ~A"
                                 :inputs (list line))))))))
 
-(defun connect (&key (host "localhost") (port 6600))
+(defun default-host ()
+  (block nil
+    #+sbcl (let ((host (sb-posix:getenv "MPD_HOST")))
+            (when host (return host)))
+    "localhost"))
+
+(defun default-port ()
+  (block nil
+    #+sbcl (let ((port (sb-posix:getenv "MPD_PORT")))
+            (when port (return (parse-integer port))))
+    6600))
+
+(defun connect (&key (host (default-host)) (port (default-port)))
   "Connect to a running MPD."
   (disconnect)
   (with-conn-lock