<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--Rendered using the Haskell Html Library v0.2--> <HTML ><HEAD ><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" ><TITLE >Network.MPD.Core</TITLE ><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" ><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" ></SCRIPT ><SCRIPT TYPE="text/javascript" >window.onload = function () {setSynopsis("mini_Network-MPD-Core.html")};</SCRIPT ></HEAD ><BODY ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="topbar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " ></TD ><TD CLASS="title" >libmpd-0.4.2: An MPD client library.</TD ><TD CLASS="topbut" ><A HREF="src/Network-MPD-Core.html" >Source code</A ></TD ><TD CLASS="topbut" ><A HREF="index.html" >Contents</A ></TD ><TD CLASS="topbut" ><A HREF="doc-index.html" >Index</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="modulebar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><FONT SIZE="6" >Network.MPD.Core</FONT ></TD ><TD ALIGN="right" ><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="infohead" >Stability</TD ><TD CLASS="infoval" >alpha</TD ></TR ><TR ><TD CLASS="infohead" >Maintainer</TD ><TD CLASS="infoval" >Joachim Fasting <joachim.fasting@gmail.com></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" ><B >Contents</B ></TD ></TR ><TR ><TD ><DL ><DT ><A HREF="#1" >Classes </A ></DT ><DT ><A HREF="#2" >Data types </A ></DT ><DT ><A HREF="#3" >Running </A ></DT ><DT ><A HREF="#4" >Interacting </A ></DT ></DL ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Description</TD ></TR ><TR ><TD CLASS="doc" >The core datatypes and operations are defined here, including the primary instance of the <TT ><A HREF="Network-MPD-Core.html#t%3AMonadMPD" >MonadMPD</A ></TT > class, <TT ><A HREF="Network-MPD-Core.html#t%3AMPD" >MPD</A ></TT >. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Synopsis</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Control-Monad.html#t%3AMonad" >Monad</A > m, <A HREF="/usr/share/doc/ghc/html/libraries/mtl-1.1.0.2/Control-Monad-Error-Class.html#t%3AMonadError" >MonadError</A > <A HREF="Network-MPD-Core.html#t%3AMPDError" >MPDError</A > m) => <A HREF="#t%3AMonadMPD" >MonadMPD</A > m <SPAN CLASS="keyword" >where</SPAN ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="#v%3Aopen" >open</A > :: m <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Aclose" >close</A > :: m <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Asend" >send</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Char.html#t%3AString" >String</A > -> m <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AgetPassword" >getPassword</A > :: m <A HREF="Network-MPD-Core.html#t%3APassword" >Password</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AMPD" >MPD</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AMPDError" >MPDError</A > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3ANoMPD" >NoMPD</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ATimedOut" >TimedOut</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AUnexpected" >Unexpected</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ACustom" >Custom</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AACK" >ACK</A > <A HREF="Network-MPD-Core.html#t%3AACKType" >ACKType</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Char.html#t%3AString" >String</A ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AACKType" >ACKType</A > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3AInvalidArgument" >InvalidArgument</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AInvalidPassword" >InvalidPassword</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AAuth" >Auth</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AUnknownCommand" >UnknownCommand</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AFileNotFound" >FileNotFound</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3APlaylistMax" >PlaylistMax</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ASystem" >System</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3APlaylistLoad" >PlaylistLoad</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ABusy" >Busy</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ANotPlaying" >NotPlaying</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AFileExists" >FileExists</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AUnknownACK" >UnknownACK</A ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3AResponse" >Response</A > = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Either.html#t%3AEither" >Either</A > <A HREF="Network-MPD-Core.html#t%3AMPDError" >MPDError</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3AHost" >Host</A > = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3APort" >Port</A > = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3AInteger" >Integer</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3APassword" >Password</A > = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AwithMPDEx" >withMPDEx</A > :: <A HREF="Network-MPD-Core.html#t%3AHost" >Host</A > -> <A HREF="Network-MPD-Core.html#t%3APort" >Port</A > -> <A HREF="Network-MPD-Core.html#t%3APassword" >Password</A > -> <A HREF="Network-MPD-Core.html#t%3AMPD" >MPD</A > a -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/System-IO.html#t%3AIO" >IO</A > (<A HREF="Network-MPD-Core.html#t%3AResponse" >Response</A > a)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AgetResponse" >getResponse</A > :: <A HREF="Network-MPD-Core.html#t%3AMonadMPD" >MonadMPD</A > m => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Char.html#t%3AString" >String</A > -> m [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Akill" >kill</A > :: <A HREF="Network-MPD-Core.html#t%3AMonadMPD" >MonadMPD</A > m => m <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="1" ><A NAME="1" >Classes </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >class</SPAN > (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Control-Monad.html#t%3AMonad" >Monad</A > m, <A HREF="/usr/share/doc/ghc/html/libraries/mtl-1.1.0.2/Control-Monad-Error-Class.html#t%3AMonadError" >MonadError</A > <A HREF="Network-MPD-Core.html#t%3AMPDError" >MPDError</A > m) => <A NAME="t:MonadMPD" ><A NAME="t%3AMonadMPD" ></A ></A ><B >MonadMPD</B > m <SPAN CLASS="keyword" >where</SPAN ></TD ><TD CLASS="declbut" ><A HREF="src/Network-MPD-Core-Class.html#MonadMPD" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >A typeclass to allow for multiple implementations of a connection to an MPD server. </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" >Methods</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:open" ><A NAME="v%3Aopen" ></A ></A ><B >open</B > :: m <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/Network-MPD-Core-Class.html#open" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Open (or re-open) a connection to the MPD server. </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:close" ><A NAME="v%3Aclose" ></A ></A ><B >close</B > :: m <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/Network-MPD-Core-Class.html#close" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Close the connection. </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:send" ><A NAME="v%3Asend" ></A ></A ><B >send</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Char.html#t%3AString" >String</A > -> m <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="declbut" ><A HREF="src/Network-MPD-Core-Class.html#send" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Send a string to the server and return its response. </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getPassword" ><A NAME="v%3AgetPassword" ></A ></A ><B >getPassword</B > :: m <A HREF="Network-MPD-Core.html#t%3APassword" >Password</A ></TD ><TD CLASS="declbut" ><A HREF="src/Network-MPD-Core-Class.html#getPassword" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Produce a password to send to the server should it ask for one. </TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:MonadMPD')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:MonadMPD" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="Network-MPD-Core.html#t%3AMonadMPD" >MonadMPD</A > <A HREF="Network-MPD-Core.html#t%3AMPD" >MPD</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="2" ><A NAME="2" >Data types </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:MPD" ><A NAME="t%3AMPD" ></A ></A ><B >MPD</B > a </TD ><TD CLASS="declbut" ><A HREF="src/Network-MPD-Core.html#MPD" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" ><P >The main implementation of an MPD client. It actually connects to a server and interacts with it. </P ><P >To use the error throwing/catching capabilities: </P ><PRE > import Control.Monad.Error (throwError, catchError) </PRE ><P >To run IO actions within the MPD monad: </P ><PRE > import Control.Monad.Trans (liftIO) </PRE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:MPD')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:MPD" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Control-Monad.html#t%3AMonad" >Monad</A > <A HREF="Network-MPD-Core.html#t%3AMPD" >MPD</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Control-Monad.html#t%3AFunctor" >Functor</A > <A HREF="Network-MPD-Core.html#t%3AMPD" >MPD</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Control-Applicative.html#t%3AApplicative" >Applicative</A > <A HREF="Network-MPD-Core.html#t%3AMPD" >MPD</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/mtl-1.1.0.2/Control-Monad-Trans.html#t%3AMonadIO" >MonadIO</A > <A HREF="Network-MPD-Core.html#t%3AMPD" >MPD</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Network-MPD-Core.html#t%3AMonadMPD" >MonadMPD</A > <A HREF="Network-MPD-Core.html#t%3AMPD" >MPD</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/mtl-1.1.0.2/Control-Monad-Error-Class.html#t%3AMonadError" >MonadError</A > <A HREF="Network-MPD-Core.html#t%3AMPDError" >MPDError</A > <A HREF="Network-MPD-Core.html#t%3AMPD" >MPD</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:MPDError" ><A NAME="t%3AMPDError" ></A ></A ><B >MPDError</B > </TD ><TD CLASS="declbut" ><A HREF="src/Network-MPD-Core-Error.html#MPDError" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >The MPDError type is used to signal errors, both from the MPD and otherwise. </TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:NoMPD" ><A NAME="v%3ANoMPD" ></A ></A ><B >NoMPD</B ></TD ><TD CLASS="rdoc" >MPD not responding </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:TimedOut" ><A NAME="v%3ATimedOut" ></A ></A ><B >TimedOut</B ></TD ><TD CLASS="rdoc" >The connection timed out </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:Unexpected" ><A NAME="v%3AUnexpected" ></A ></A ><B >Unexpected</B > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="rdoc" >MPD returned an unexpected response. This is a bug, either in the library or in MPD itself. </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:Custom" ><A NAME="v%3ACustom" ></A ></A ><B >Custom</B > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="rdoc" >Used for misc. errors </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:ACK" ><A NAME="v%3AACK" ></A ></A ><B >ACK</B > <A HREF="Network-MPD-Core.html#t%3AACKType" >ACKType</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="rdoc" >ACK type and a message from the server </TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:MPDError')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:MPDError" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="Network-MPD-Core.html#t%3AMPDError" >MPDError</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Text-Show.html#t%3AShow" >Show</A > <A HREF="Network-MPD-Core.html#t%3AMPDError" >MPDError</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/mtl-1.1.0.2/Control-Monad-Error-Class.html#t%3AError" >Error</A > <A HREF="Network-MPD-Core.html#t%3AMPDError" >MPDError</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/mtl-1.1.0.2/Control-Monad-Error-Class.html#t%3AMonadError" >MonadError</A > <A HREF="Network-MPD-Core.html#t%3AMPDError" >MPDError</A > <A HREF="Network-MPD-Core.html#t%3AMPD" >MPD</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:ACKType" ><A NAME="t%3AACKType" ></A ></A ><B >ACKType</B > </TD ><TD CLASS="declbut" ><A HREF="src/Network-MPD-Core-Error.html#ACKType" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >Represents various MPD errors (aka. ACKs). </TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:InvalidArgument" ><A NAME="v%3AInvalidArgument" ></A ></A ><B >InvalidArgument</B ></TD ><TD CLASS="rdoc" >Invalid argument passed (ACK 2) </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:InvalidPassword" ><A NAME="v%3AInvalidPassword" ></A ></A ><B >InvalidPassword</B ></TD ><TD CLASS="rdoc" >Invalid password supplied (ACK 3) </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:Auth" ><A NAME="v%3AAuth" ></A ></A ><B >Auth</B ></TD ><TD CLASS="rdoc" >Authentication required (ACK 4) </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:UnknownCommand" ><A NAME="v%3AUnknownCommand" ></A ></A ><B >UnknownCommand</B ></TD ><TD CLASS="rdoc" >Unknown command (ACK 5) </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:FileNotFound" ><A NAME="v%3AFileNotFound" ></A ></A ><B >FileNotFound</B ></TD ><TD CLASS="rdoc" >File or directory not found ACK 50) </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:PlaylistMax" ><A NAME="v%3APlaylistMax" ></A ></A ><B >PlaylistMax</B ></TD ><TD CLASS="rdoc" >Playlist at maximum size (ACK 51) </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:System" ><A NAME="v%3ASystem" ></A ></A ><B >System</B ></TD ><TD CLASS="rdoc" >A system error (ACK 52) </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:PlaylistLoad" ><A NAME="v%3APlaylistLoad" ></A ></A ><B >PlaylistLoad</B ></TD ><TD CLASS="rdoc" >Playlist loading failed (ACK 53) </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:Busy" ><A NAME="v%3ABusy" ></A ></A ><B >Busy</B ></TD ><TD CLASS="rdoc" >Update already running (ACK 54) </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:NotPlaying" ><A NAME="v%3ANotPlaying" ></A ></A ><B >NotPlaying</B ></TD ><TD CLASS="rdoc" >An operation requiring playback got interrupted (ACK 55) </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:FileExists" ><A NAME="v%3AFileExists" ></A ></A ><B >FileExists</B ></TD ><TD CLASS="rdoc" >File already exists (ACK 56) </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:UnknownACK" ><A NAME="v%3AUnknownACK" ></A ></A ><B >UnknownACK</B ></TD ><TD CLASS="rdoc" >An unknown ACK (aka. bug) </TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ACKType')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:ACKType" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="Network-MPD-Core.html#t%3AACKType" >ACKType</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:Response" ><A NAME="t%3AResponse" ></A ></A ><B >Response</B > = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Either.html#t%3AEither" >Either</A > <A HREF="Network-MPD-Core.html#t%3AMPDError" >MPDError</A ></TD ><TD CLASS="declbut" ><A HREF="src/Network-MPD-Core.html#Response" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >A response is either an <TT ><A HREF="Network-MPD-Core.html#t%3AMPDError" >MPDError</A ></TT > or some result. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:Host" ><A NAME="t%3AHost" ></A ></A ><B >Host</B > = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="declbut" ><A HREF="src/Network-MPD-Core.html#Host" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:Port" ><A NAME="t%3APort" ></A ></A ><B >Port</B > = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3AInteger" >Integer</A ></TD ><TD CLASS="declbut" ><A HREF="src/Network-MPD-Core.html#Port" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:Password" ><A NAME="t%3APassword" ></A ></A ><B >Password</B > = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="declbut" ><A HREF="src/Network-MPD-Core-Class.html#Password" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="3" ><A NAME="3" >Running </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:withMPDEx" ><A NAME="v%3AwithMPDEx" ></A ></A ><B >withMPDEx</B > :: <A HREF="Network-MPD-Core.html#t%3AHost" >Host</A > -> <A HREF="Network-MPD-Core.html#t%3APort" >Port</A > -> <A HREF="Network-MPD-Core.html#t%3APassword" >Password</A > -> <A HREF="Network-MPD-Core.html#t%3AMPD" >MPD</A > a -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/System-IO.html#t%3AIO" >IO</A > (<A HREF="Network-MPD-Core.html#t%3AResponse" >Response</A > a)</TD ><TD CLASS="declbut" ><A HREF="src/Network-MPD-Core.html#withMPDEx" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >The most configurable API for running an MPD action. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="4" ><A NAME="4" >Interacting </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getResponse" ><A NAME="v%3AgetResponse" ></A ></A ><B >getResponse</B > :: <A HREF="Network-MPD-Core.html#t%3AMonadMPD" >MonadMPD</A > m => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Char.html#t%3AString" >String</A > -> m [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Char.html#t%3AString" >String</A >]</TD ><TD CLASS="declbut" ><A HREF="src/Network-MPD-Core.html#getResponse" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Send a command to the MPD server and return the result. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:kill" ><A NAME="v%3Akill" ></A ></A ><B >kill</B > :: <A HREF="Network-MPD-Core.html#t%3AMonadMPD" >MonadMPD</A > m => m <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/Network-MPD-Core.html#kill" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Kill the server. Obviously, the connection is then invalid. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="botbar" >Produced by <A HREF="http://www.haskell.org/haddock/" >Haddock</A > version 2.6.0</TD ></TR ></TABLE ></BODY ></HTML >