l_Y      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                          ! " # $ % & ' ( ) *+,-./0123456789:;< = >?@ABCDEFGHIJKLMNOPQRSTUVWX$0(c) Ben Sinclair 2005-2009, Joachim Fasting 2010MIT (see LICENSE)&Joachim Fasting <joachifm@fastmail.fm>alphaSafeY-Like Prelude.read, but works with ByteString.YZ[\]^_`abcdefg YZ[\]_`abcdefYZ[\]^_`abcdefg(c) Joachim Fasting 2012MIT&Joachim Fasting <joachifm@fastmail.fm>unstable unportableSafe0*Represents various MPD errors (aka. ACKs).Invalid argument passed (ACK 2)!Invalid password supplied (ACK 3)Authentication required (ACK 4)Unknown command (ACK 5)#File or directory not found ACK 50)!Playlist at maximum size (ACK 51)A system error (ACK 52)  Playlist loading failed (ACK 53) Update already running (ACK 54) ;An operation requiring playback got interrupted (ACK 55) File already exists (ACK 56) An unknown ACK (aka. bug)MThe MPDError type is used to signal errors, both from the MPD and otherwise.MPD not responding'An error occurred while talking to MPD.aMPD returned an unexpected response. This is a bug, either in the library or in MPD itself.Used for misc. errors)ACK type and a message from the server hij    hij0(c) Ben Sinclair 2005-2009, Joachim Fasting 2010MIT (see LICENSE)&Joachim Fasting <joachifm@fastmail.fm>alphaSafe:VA typeclass to allow for multiple implementations of a connection to an MPD server.1Open (or re-open) a connection to the MPD server.Close the connection.4Send a string to the server and return its response.BProduce a password to send to the server should it ask for one.)Alters password to be sent to the server.Get MPD protocol version0(c) Ben Sinclair 2005-2009, Joachim Fasting 2010MIT (see LICENSE)&Joachim Fasting <joachifm@fastmail.fm>alphaNone:ITA response is either an  or some result.kInner state for MPDeThe main implementation of an MPD client. It actually connects to a server and interacts with it.0To use the error throwing/catching capabilities: 3import Control.Monad.Error (throwError, catchError)'To run IO actions within the MPD monad: #import Control.Monad.Trans (liftIO) 4The most configurable API for running an MPD action.l*Re-connect and retry for these Exceptions.mMPredicate to identify ResourceVanished exceptions. Note: these are GHC only!!;Kill the server. Obviously, the connection is then invalid."7Send a command to the MPD server and return the result.knopqrs tuvlm!"wxy#$"   !""  "!knopqrs tuvlm!"wxy#$&(c) Joachim Fasting, Simon Hengel 2012MIT&Joachim Fasting <joachifm@fastmail.fm>alpha unportableNone9;IzA uniform interface for argument preparation The basic idea is that one should be able to magically prepare an argument for use with an MPD command, without necessarily knowing/caring how it needs to be represented internally.{Arguments for getResponse are accumulated as strings in values of this type after being converted from whatever type (an instance of MPDArg) they were to begin with.|)Groups together arguments to getResponse.}ZConverts a command name and a string of arguments into the string to hand to getResponse.~z{|}~z{|}~z{|}|3}20(c) Ben Sinclair 2005-2009, Joachim Fasting 2010MIT (see LICENSE)&Joachim Fasting <joachifm@fastmail.fm>alphaNone9;IF)Container for MPD status.,A percentage (0-100)./ indicates that the output lacks mixer support./MA value that is incremented by the server every time the playlist changes.0,The number of items in the current playlist.1(Current song's position in the playlist.2Current song's playlist ID.3%Next song's position in the playlist.4Next song's playlist ID.51Time elapsed/total time of playing song (if any).6;Bitrate (in kilobytes per second) of playing song (if any).7Crossfade time.8MixRamp threshold in dB9MixRamp extra delay in seconds:HSamplerate/bits/channels for the chosen output device (see mpd.conf).;,Job ID of currently running update (if any).<AIf True, MPD will play only one song and stop after finishing it.=9If True, a song will be removed after it has been played.>Last error message (if any).?"Container for database statistics.ANumber of artists.BNumber of albums.CNumber of songs.DDaemon uptime in seconds.ETotal playing time.F4Total play time of all the songs in the database.G"Last database update in UNIX time.J%The position of a song in a playlist.KRepresents a single song item.NDMap of available tags (multiple occurrences of one tag type allowed)OLast modification datePLength of the song in secondsQId in playlistRPosition in playlistSRepresents an output device.UOutput's ID numberV9Output's name as defined in the MPD configuration fileXResult of the lsInfo operationY DirectoryZSong[Playlist\!Represents the result of running count.^"Number of songs matching the query_!Total play time of matching songsaDisable replay gainbPer track modecPer album moded&Represents the various MPD subsystems.eThe song databasefDatabase updatesgStored playlistshThe current playlisti The playerjThe volume mixerk Audio outputslPlayback optionsmSticker databasen SubscriptionoMessage on subscribed channelp)Represents the different playback states.v Object types.xA metadata value.ytAvailable metadata types/scope modifiers, used for searching the database for entries with certain metadata values.]Used for commands which require a path within the database. If empty, the root path is used.YUsed for commands which require a playlist name. If empty, the current playlist is used.1A type class for values that can be converted to s.Convert given value to .Convert given value to .'Convert given value to a UTF-8 encoded .Get list of specific tag typeAdd metadata tag value.)*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~t)*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoprqstuvwxyz|{}~,)*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd efghijklmnopqrstuvwxyz{|}~0(c) Ben Sinclair 2005-2009, Joachim Fasting 2010MIT (see LICENSE)&Joachim Fasting <joachifm@fastmail.fm>alphaNone: Builds a \ instance from an assoc. list.Builds a list of S instances from an assoc. list Builds a ? instance from an assoc. list. Builds a K instance from an assoc. list.A helper that runs a parser on a string and, depending on the outcome, either returns the result of some command applied to the result, or a default value. Used when building structures.A helper for running a parser returning Maybe on a pair of strings. Returns Just if both strings where parsed successfully, Nothing otherwise.(c) Joachim Fasting 2012MIT&Joachim Fasting <joachifm@fastmail.fm>unstable unportableNone&An interface for creating MPD queries.KFor example, to match any song where the value of artist is "Foo", we use: Artist =? "Foo"We can also compose queries, thus narrowing the search. For example, to match any song where the value of artist is "Foo" and the value of album is "Bar", we use: "Artist =? "Foo" <&> Album =? "Bar"!An empty query. Matches anything.Create a query.Combine queries. 6None(c) Simon Hengel 2012MITjoachifm@fastmail.fmstable unportableNone2LuA compound command, comprising a parser for the responses and a combined request of an arbitrary number of commands.KA line-oriented parser that returns a value along with any remaining input.Convert a regular parser.+Return everything until the next "list_OK".)For commands returning an empty response.Fail with unexpected response. Execute a .  (c) Joachim Fasting 2012MITjoachifm@fastmail.fmstable unportableNoneTurn off output.Turn on output.3Get information about all available output devices.(c) Joachim Fasting 2012MITjoachifm@fastmail.fmstable unportableNonePlay next song in the playlist. Toggle pause.3Begin playback (optionally at a specific position).(Begin playback at the specified song id.Play previous song./Seek to time in the song at the given position.+Seek to time in the song with the given id.Stop playback.(c) Joachim Fasting 2012MITjoachifm@fastmail.fmstable unportableNone Toggle consume mode.Set crossfading between songs.Toggle random mode.Toggle repeat mode.Set volume in percent.Toggle single mode.Set replay gain mode.2Get replay gain status: option name and its value.fSet MixRamp overlap threshold. 0dB is the normalized maximum value; use negative values to adjust it.sSongs must have MixRamp tags set by an external tool for this to work; crossfading is used if no tags are present.;Additional time subtracted from the overlap calculated by . NaN9 disables MixRamp overlapping and reverts to crossfading. (c) Joachim Fasting 2012MITjoachifm@fastmail.fmstable unportableNone!Get a list of available commands.[Get a list of unavailable commands (i.e., commands that require an authenticated session).&Get a list of available song metadata.%Get a list of available URL handlers.WGet a list of available decoder plugins, with their supported suffixes and MIME types.1Get configuration values of interest to a client.[Note: only permitted for clients connected via a unix domain socket (aka "local clients").(c) Joachim Fasting 2012MITjoachifm@fastmail.fmstable unportableNoneL&Clear current error message in status.1Song metadata for currently playing song, if any.^Wait until there is noteworthy change in one or more of MPD's subsystems. When active, only  commands are allowed. Cancel an  request.Get database statistics.%Get the current status of the player. (c) Joachim Fasting 2012MITjoachifm@fastmail.fmstable unportableNone,Read sticker value for the object specified.VAdd sticker value to the object. Will overwrite existing stickers with the same name.|Delete a sticker value from the object. If no sticker name is given, all sticker values attached to the object are deleted.List stickers for the object.aSearch the sticker database for stickers with the specified name, below the specified directory. (c) Joachim Fasting 2012MITjoachifm@fastmail.fmstable unportableNone  List song items in the playlist..List song items in the playlist with metadata.Get a list of stored playlists.%Load playlist into the current queue.*Add a database path to the named playlist.Clear the playlist.8Delete the item at the given position from the playlist.2Move a song to a new position within the playlist.Rename the playlist.Remove the playlist.)Save current queue to the named playlist. 0(c) Ben Sinclair 2005-2009, Joachim Fasting 2012MIT (see LICENSE)joachifm@fastmail.fmstable unportableNoneTurn off an output device.Turn on an output device.,Retrieve information for all output devices.0(c) Ben Sinclair 2005-2009, Joachim Fasting 2012MIT (see LICENSE)joachifm@fastmail.fmstable unportableNonePlay the next song.Pause playing.Begin/continue playing.Play a file with given id.Play the previous song.Seek to some point in a song.)Seek to some point in a song (id version) Stop playing.0(c) Ben Sinclair 2005-2009, Joachim Fasting 2012MIT (see LICENSE)joachifm@fastmail.fmstable unportableNoneSet consume modeSet crossfading between songs.Set random playing.Set repeating.Set the volume (0-100 percent).Set single modeSet the replay gain mode.Get the replay gain options.0(c) Ben Sinclair 2005-2009, Joachim Fasting 2012MIT (see LICENSE)joachifm@fastmail.fmstable unportableNone&Retrieve a list of available commands.ERetrieve a list of unavailable (due to access restrictions) commands.+Retrieve a list of available song metadata.)Retrieve a list of supported urlhandlers.IRetreive a list of decoder plugins with associated suffix and mime types.'Retrieve configuration keys and values.0(c) Ben Sinclair 2005-2009, Joachim Fasting 2012MIT (see LICENSE)joachifm@fastmail.fmstable unportableNone*Clear the current error message in status.Get the currently playing song.LWait until there is a noteworthy change in one or more of MPD's susbystems.The first argument is a list of subsystems that should be considered. An empty list specifies that all subsystems should be considered.>A list of subsystems that have noteworthy changes is returned.7Note that running this command will block until either  returns or is cancelled by .Cancel .Get server statistics.Get the server's status.0(c) Ben Sinclair 2005-2009, Joachim Fasting 2012MIT (see LICENSE)joachifm@fastmail.fmstable unportableNone/Reads a sticker value for the specified object.-Adds a sticker value to the specified object.1Delete a sticker value from the specified object.,Lists the stickers for the specified object.^Searches the sticker database for stickers with the specified name, below the specified path. Object URI Sticker name Object URI Sticker name Sticker value Object URI Sticker name Object URISticker name/sticker valuePath Sticker nameURI/sticker value0(c) Ben Sinclair 2005-2009, Joachim Fasting 2012MIT (see LICENSE)joachifm@fastmail.fmstable unportableNone -Retrieve a list of files in a given playlist.0Retrieve metadata for files in a given playlist.$Retreive a list of stored playlists.Load an existing playlist.Add a song (or a whole directory) to a stored playlist. Will create a new playlist if the one specified does not already exist.PClear a playlist. If the specified playlist does not exist, it will be created.Remove a song from a playlist.:Move a song to a given position in the playlist specified.Rename an existing playlist.Delete existing playlist.Save the current playlist. Original playlistNew playlist name  (c) Joachim Fasting 2012MITjoachifm@fastmail.fmstable unportableNone LGet a count of songs and their total playtime that exactly match the query.&Find songs matching the query exactly.Like . but adds the results to the current playlist.%Lists all tags of the specified type.ONote that the optional artist value is only ever used if the metadata type is F, and is then taken to mean that the albums by that artist be listed.2List all songs and directories in a database path.Same as  but also returns metadata.*List the contents of a database directory.Like  but with inexact matching.Like . but adds the results to the current playlist.Since MPD 0.17. Like ( but adds results to the named playlist.Since MPD 0.17. SUpdate the music database. If no path is supplied, the entire database is updated. Like  " but also rescan unmodified files.                0(c) Ben Sinclair 2005-2009, Joachim Fasting 2012MIT (see LICENSE)joachifm@fastmail.fmstable unportableNone  -Count the number of entries matching a query.9Search the database for entries exactly matching a query.4Adds songs matching a query to the current playlist.$List all tags of the specified type.FList the songs (without metadata) in a database directory recursively. Recursive .:Non-recursively list the contents of a database directory.4Search the database using case insensitive matching.Update the server's database.pIf no path is given, the whole library will be scanned. Unreadable or non-existent paths are silently ignored.The update job id is returned.Like # but also rescans unmodified files.  Metadata to list     (c) Joachim Fasting 2012MITjoachifm@fastmail.fmstable unportableNone:Add a song (or a whole directory) to the current playlist./Add a song (non-recursively) and return its id.Clear the current playlist.+Delete song at the given playlist position.*Delete a range of songs from the playlist.Delete song by id.'Move song from one position to another.Move a range of songs.[Move song id to position. If the position is negative, it is relative to the current song. 4Find songs in current playlist with strict matching.!uGet song metadata for all items in the current playlist. Optionally restrict listing the song at the given position."Like !/ but can restrict listing to a range of songs.#lGet song metadata for all items in the current playlist. Optionally restrict selection to a single song id.$BSearch case-insensitively for partial matches in current playlist.%`Get song metadata for items that have changed in the playlist since the given playlist version.&cGet positions and ids of songs that have changed in the playlist since the given playlist version.'GShuffle the current playlist. Optionally restrict to a range of songs.(Swap songs by position.)Swap songs by id. !"#$%&'() !"#$%&'() !"#$%&'() !"#$%&'()!0(c) Ben Sinclair 2005-2009, Joachim Fasting 2012MIT (see LICENSE)joachifm@fastmail.fmstable unportableNone:*Like +, but returns a playlist id.+:Add a song (or a whole directory) to the current playlist.,Clear the current playlist.-(Remove a song from the current playlist..(Remove a song from the current playlist./8Move a song to a given position in the current playlist.0Move a song from (songid) to (playlist index) in the playlist. If to is negative, it is relative to the current song in the playlist (if there is one).1Retrieve file paths and positions of songs in the current playlist. Note that this command is only included for completeness sake; it's deprecated and likely to disappear at any time, please use 3 instead.2>Search for songs in the current playlist with strict matching.34Retrieve metadata for songs in the current playlist.4Like 3& but can restrict to a range of songs.5YDisplays a list of songs in the playlist. If id is specified, only its info is returned.6RSearch case-insensitively with partial matches for songs in the current playlist.7[Retrieve a list of changed songs currently in the playlist since a given playlist version.8Like 7$ but only returns positions and ids.9Shuffle the playlist.: Swap the positions of two songs.;,Swap the positions of two songs (Id version)*+,-./0123456789Optional range (start, end):;*+,-./0123456789:;*+,-./0123456789:; (c) Joachim Fasting 2012MITjoachifm@fastmail.fmstable unportableNone<9Authenticate session. The password is sent in plain text.= Ping daemon.<=<=<=<="0(c) Ben Sinclair 2005-2009, Joachim Fasting 2012MIT (see LICENSE)joachifm@fastmail.fmstable unportableNone>QSend password to server to authenticate session. Password is sent as plain text.?*Check that the server is still responding.>?>?>?(c) Joachim Fasting 2013MITjoachifm@fastmail.fmstable unportableNone@ABCDEF@ABCDEFA@BCDEF@ABCDEF#(c) Joachim Fasting 2013MIT (see LICENSE)joachifm@fastmail.fmstable unportableNoneGHIJK@AGHIJKGHIJK$(c) Joachim Fasting 2012MITjoachifm@fastmail.fmstable unportableNone)*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoprqstuvwxyz|{}~ *+,-./0123456789:;>?@AGHIJK(c) Joachim Fasting 2012MIT&Joachim Fasting <joachifm@fastmail.fm>unstable unportableNone LThis is exactly the same as .M%Toggles play/pause. Plays if stopped.NRAdd a list of songs/folders to a playlist. Should be more efficient than running + many times.O Recursive *. For directories, it will use the given position for the first file in the directory and use the successor for the remaining files. It returns a list of playlist ids for the songs added.PLike +' but returns a list of the files added.QLike ' but returns a list of the files added.R!List the artists in the database.SEList the albums in the database, optionally matching a given artist.T*List the songs in an album of some artist.U.Retrieve the current playlist. Equivalent to playlistinfo Nothing.VIncrease or decrease volume by a given percent, e.g. 'volume 10' will increase the volume by 10 percent, while 'volume (-10)' will decrease it by the same amount. LMNOPQRSTUV LMNOPQRSTUV LMNOPQRSTUV LMNOPQRSTUVNoneV     !"#$%&'()<=&(c) Joachim Fasting, Simon Hengel 2012MIT&Joachim Fasting <joachifm@fastmail.fm>unstable unportableNoneWA wrapper for   that uses localhost:6600 as the default host:port, or whatever is found in the environment variables MPD_HOST and MPD_PORT. If MPD_HOST is of the form "password@host" the password will be supplied as well. Examples: KwithMPD $ play Nothing withMPD $ add_ "tool" >> play Nothing >> currentSongXSame as WD, but takes optional arguments that override MPD_HOST and MPD_PORT.5This is e.g. useful for clients that optionally take --port and --host. as command line arguments, and fall back to W.'s defaults if those arguments are not given.WXoptional override for MPD_HOSToptional override for MPD_PORT   )*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoprqstuvwxyz|{}~ *+,-./0123456789:;>?@AGHIJKWX WX yz{|}~xvwutpqrsdefghijklmno`abc\]^_XYZ[STUVWKLMNOPQRJHI?@ABCDEFG)*+,-./0123456789:;<=>*+,-./0123456789:; >?A@GHIJKWX%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPPQRSTUVWXYZ[\]^_`abcdeefghijklmmnoopqrstuvvwxyz{|}~~                !!!!!!!!!!!!!! ! ! ! !  ""##### !"#$%&'()*+,-./01234567897:;<D=>?@ABCDEFGHEIJKLMNOPQRSTUSTVWXYZ[\]^_`abcdefghijklmnopqrstuvwxxyz{|}~I &%libmpd-0.9.0.6-1POOM32s5cQ1AllR4CmnJn Network.MPDNetwork.MPD.CoreNetwork.MPD.ApplicativeNetwork.MPD.Applicative.Output'Network.MPD.Applicative.PlaybackControl'Network.MPD.Applicative.PlaybackOptions"Network.MPD.Applicative.ReflectionNetwork.MPD.Applicative.Status Network.MPD.Applicative.Stickers'Network.MPD.Applicative.StoredPlaylists Network.MPD.Applicative.Database'Network.MPD.Applicative.CurrentPlaylist"Network.MPD.Applicative.Connection&Network.MPD.Applicative.ClientToClientNetwork.MPD.Commands.ExtensionsNetwork.MPD.UtilNetwork.MPD.Core.ErrorNetwork.MPD.Core.ClassNetwork.MPD.Commands.ArgNetwork.MPD.Commands.TypesNetwork.MPD.Commands.ParseNetwork.MPD.Commands.QueryNetwork.MPD.Applicative.Util Network.MPD.Applicative.InternalNetwork.MPD.Commands.Output$Network.MPD.Commands.PlaybackControl$Network.MPD.Commands.PlaybackOptionsNetwork.MPD.Commands.ReflectionNetwork.MPD.Commands.StatusNetwork.MPD.Commands.Stickers$Network.MPD.Commands.StoredPlaylistsNetwork.MPD.Commands.Database$Network.MPD.Commands.CurrentPlaylistNetwork.MPD.Commands.Connection#Network.MPD.Commands.ClientToClientNetwork.MPD.Commands1data-default-class-0.1.2.0-FYQpjIylblBDctdkHAFeXAData.Default.ClassdefACKTypeInvalidArgumentInvalidPasswordAuthUnknownCommand FileNotFound PlaylistMaxSystem PlaylistLoadBusy NotPlaying FileExists UnknownACKMPDErrorNoMPDConnectionError UnexpectedCustomACKMonadMPDopenclosesend getPassword setPassword getVersionPasswordResponseMPDPortHost withMPDExkill getResponse $fMonadMPDMPD$fApplicativeMPD $fFunctorMPD $fMonadMPD $fMonadIOMPD$fMonadErrorMPDStatusstStatestVolumestRepeatstRandomstPlaylistVersionstPlaylistLength stSongPosstSongID stNextSongPos stNextSongIDstTime stBitrate stXFadeWidth stMixRampdBstMixRampDelaystAudio stUpdatingDbstSingle stConsumestErrorStats stsArtists stsAlbumsstsSongs stsUptime stsPlaytime stsDbPlaytime stsDbUpdateIdPositionSong sgFilePathsgTagssgLastModifiedsgLengthsgIdsgIndexDevice dOutputID dOutputNamedOutputEnabledLsResult LsDirectoryLsSong LsPlaylistCountcSongs cPlaytimeReplayGainModeOff TrackMode AlbumMode Subsystem DatabaseSUpdateSStoredPlaylistS PlaylistSPlayerSMixerSOutputSOptionsSStickerS SubscriptionSMessageSStatePlayingStoppedPausedDecibelsSeconds ObjectTypeSongObjValueMetadataArtist ArtistSortAlbum AlbumArtistAlbumArtistSortTitleTrackNameGenreDateComposer PerformerCommentDiscMUSICBRAINZ_ARTISTIDMUSICBRAINZ_ALBUMIDMUSICBRAINZ_ALBUMARTISTIDMUSICBRAINZ_TRACKIDMUSICBRAINZ_RELEASETRACKIDPath PlaylistNameToStringtoStringtoTexttoUtf8sgGetTagsgAddTagQueryanything=?<&>Command runCommand disableOutput enableOutputoutputsnextpauseplayplayIdpreviousseekseekIdstopconsume crossfaderandomrepeat setVolumesinglereplayGainModereplayGainStatus mixrampDb mixrampDelaycommands notCommandstagTypes urlHandlersdecodersconfig clearError currentSongidlenoidlestatsstatus stickerGet stickerSet stickerDelete stickerList stickerFind listPlaylistlistPlaylistInfo listPlaylistsload playlistAdd playlistClearplaylistDelete playlistMoverenamermsavecountfindfindAddlistlistAlllsInfo' listAllInfolsInfosearch searchAdd searchAddPlupdaterescanupdate_addaddIdcleardelete deleteRangedeleteIdmove moveRangemoveId playlistFind playlistInfoplaylistInfoRange playlistIdplaylistSearch plChangesplChangesPosIdshuffleswapswapIdplaylistpasswordping MessageText ChannelName subscribe unsubscribechannels readMessages sendMessageupdateIdtoggleaddMany addIdManyaddListplaylistAddList listArtists listAlbums listAlbum getPlaylistvolumewithMPDwithMPD_read breakChar parseDate parseIso8601 formatIso8601 iso8601FormatparseNum parseFracshowBool parseBool parseTripletoAssoc toAssocList splitGroups parseMaybe$fErrorMPDError$fShowMPDError$fExceptionMPDErrorMPDState isRetryableisResourceVanishedstHandle stPassword stVersionrunMPDmpdOpenmpdClosempdSend parseResponseparseAcksplitAckMPDArgArgs<++><@>prep addSlashes$fMPDArgDouble $fMPDArgBool$fMPDArgInteger $fMPDArgInt $fMPDArg(,) $fMPDArgMaybe$fMPDArgByteString $fMPDArg[] $fMPDArgArgsbaseGHC.BaseNothingString#text-1.2.2.1-9Yh8rJoh8fO2JMLWffT3QsData.Text.InternalTextbytestring-0.10.8.1Data.ByteString.Internal ByteString defaultCount defaultDevice defaultSong defaultStats defaultStatus$fDefaultStatus$fDefaultStats $fMPDArgId$fDefaultDevice$fDefaultCount$fMPDArgReplayGainMode$fMPDArgSubsystem$fMPDArgObjectType$fIsStringValue$fToStringValue$fMPDArgMetadata$fIsStringPath$fToStringPath$fIsStringPlaylistName$fToStringPlaylistName parseCount parseOutputs parseStats parseSongparsepairparseMaybeSongMatch $fMPDArgQuery $fMonoidQuery $fShowMatch takeEntries takeSongs takeValues decodePairParser liftParser emptyResponse unexpected commandParsercommandRequest runParser$fApplicativeCommand$fApplicativeParser $fMonadParsertakeSubsystems playlist'getConnectionSettings getEnvDefault maybeRead