Made mpcl:connect more standardized.
authorFredrik Tolf <fredrik@dolda2000.com>
Tue, 5 Jan 2010 05:31:32 +0000 (06:31 +0100)
committerFredrik Tolf <fredrik@dolda2000.com>
Tue, 5 Jan 2010 05:31:32 +0000 (06:31 +0100)
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