libmpd 0.9.0 → 0.9.0.1
raw patch · 35 files changed
+152/−43 lines, 35 filesdep ~base
Dependency ranges changed: base
Files
- libmpd.cabal +5/−11
- src/Network/MPD.hs +1/−1
- src/Network/MPD/Applicative/ClientToClient.hs +68/−0
- src/Network/MPD/Applicative/Connection.hs +1/−1
- src/Network/MPD/Applicative/CurrentPlaylist.hs +1/−1
- src/Network/MPD/Applicative/Database.hs +1/−1
- src/Network/MPD/Applicative/Internal.hs +1/−1
- src/Network/MPD/Applicative/Output.hs +1/−1
- src/Network/MPD/Applicative/PlaybackControl.hs +1/−1
- src/Network/MPD/Applicative/PlaybackOptions.hs +1/−1
- src/Network/MPD/Applicative/Reflection.hs +1/−1
- src/Network/MPD/Applicative/Status.hs +1/−1
- src/Network/MPD/Applicative/Stickers.hs +1/−1
- src/Network/MPD/Applicative/StoredPlaylists.hs +1/−1
- src/Network/MPD/Commands.hs +1/−1
- src/Network/MPD/Commands/Arg.hs +1/−1
- src/Network/MPD/Commands/ClientToClient.hs +47/−0
- src/Network/MPD/Commands/Connection.hs +1/−1
- src/Network/MPD/Commands/CurrentPlaylist.hs +1/−1
- src/Network/MPD/Commands/Database.hs +1/−1
- src/Network/MPD/Commands/Extensions.hs +1/−1
- src/Network/MPD/Commands/Output.hs +1/−1
- src/Network/MPD/Commands/Parse.hs +1/−1
- src/Network/MPD/Commands/PlaybackControl.hs +1/−1
- src/Network/MPD/Commands/PlaybackOptions.hs +1/−1
- src/Network/MPD/Commands/Query.hs +1/−1
- src/Network/MPD/Commands/Reflection.hs +1/−1
- src/Network/MPD/Commands/Status.hs +1/−1
- src/Network/MPD/Commands/Stickers.hs +1/−1
- src/Network/MPD/Commands/StoredPlaylists.hs +1/−1
- src/Network/MPD/Commands/Types.hs +1/−1
- src/Network/MPD/Core.hs +1/−1
- src/Network/MPD/Core/Class.hs +1/−1
- src/Network/MPD/Core/Error.hs +1/−1
- src/Network/MPD/Util.hs +1/−1
libmpd.cabal view
@@ -1,5 +1,5 @@ Name: libmpd-Version: 0.9.0+Version: 0.9.0.1 Synopsis: An MPD client library. Description: A client library for MPD, the Music Player Daemon. Category: Network, Sound@@ -9,7 +9,7 @@ Copyright: Ben Sinclair 2005-2009, Joachim Fasting 2012-2014 Author: Ben Sinclair -Maintainer: Joachim Fasting <joachim.fasting@gmail.com>+Maintainer: Joachim Fasting <joachifm@fastmail.fm> Stability: beta Homepage: http://github.com/vimus/libmpd-haskell#readme Bug-reports: http://github.com/vimus/libmpd-haskell/issues@@ -21,15 +21,7 @@ Extra-Source-Files: README.md changelog.md- tests/Arbitrary.hs- tests/CommandSpec.hs- tests/EnvSpec.hs- tests/ParserSpec.hs- tests/StringConn.hs- tests/TestUtil.hs- tests/Unparse.hs- tests/UtilSpec.hs- tests/Main.hs+ tests/*.hs Source-Repository head type: git@@ -60,6 +52,7 @@ Exposed-Modules: Network.MPD , Network.MPD.Applicative+ , Network.MPD.Applicative.ClientToClient , Network.MPD.Applicative.Connection , Network.MPD.Applicative.CurrentPlaylist , Network.MPD.Applicative.Database@@ -81,6 +74,7 @@ , Network.MPD.Commands.Parse , Network.MPD.Commands.Query , Network.MPD.Commands.Types+ , Network.MPD.Commands.ClientToClient , Network.MPD.Commands.Status , Network.MPD.Commands.PlaybackOptions , Network.MPD.Commands.PlaybackControl
src/Network/MPD.hs view
@@ -5,7 +5,7 @@ Copyright : (c) Joachim Fasting, Simon Hengel 2012 License : MIT -Maintainer : Joachim Fasting <joachim.fasting@gmail.com>+Maintainer : Joachim Fasting <joachifm@fastmail.fm> Stability : unstable Portability : unportable
+ src/Network/MPD/Applicative/ClientToClient.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE OverloadedStrings #-}++{- |+Module : Network.MPD.Applicative.ClientToClient+Copyright : (c) Joachim Fasting 2013+License : MIT++Maintainer : joachifm@fastmail.fm+Stability : stable+Portability : unportable++Client to client communication.+-}++module Network.MPD.Applicative.ClientToClient+ ( -- * Types+ ChannelName+ , MessageText+ -- * Subscribing to channels+ , subscribe+ , unsubscribe+ , channels+ -- * Communicating with other clients+ , readMessages+ , sendMessage+ ) where++import Control.Applicative++import Network.MPD.Commands.Arg hiding (Command)+import Network.MPD.Applicative.Internal+import Network.MPD.Applicative.Util+import Network.MPD.Util++import Data.ByteString.Char8 (ByteString)+import qualified Data.ByteString.UTF8 as UTF8++------------------------------------------------------------------------++type ChannelName = String+type MessageText = String++------------------------------------------------------------------------++subscribe :: ChannelName -> Command ()+subscribe name = Command emptyResponse ["subscribe" <@> name]++unsubscribe :: ChannelName -> Command ()+unsubscribe name = Command emptyResponse ["unsubscribe" <@> name]++channels :: Command [ChannelName]+channels = Command p ["channels"]+ where+ p = map UTF8.toString . takeValues <$> getResponse++------------------------------------------------------------------------++readMessages :: Command [(ChannelName, MessageText)]+readMessages = Command (liftParser p) ["readmessages"]+ where+ p = mapM parseMessage . splitGroups ["channel"] . toAssocList++ parseMessage :: [(ByteString, ByteString)] -> Either String (ChannelName, MessageText)+ parseMessage [("channel", ch),("message", msg)] = Right (UTF8.toString ch, UTF8.toString msg)+ parseMessage _ = Left "Unexpected result from readMessages"++sendMessage :: ChannelName -> MessageText -> Command ()+sendMessage name text = Command emptyResponse ["sendmessage" <@> name <++> text]
src/Network/MPD/Applicative/Connection.hs view
@@ -5,7 +5,7 @@ Copyright : (c) Joachim Fasting 2012 License : MIT -Maintainer : joachim.fasting@gmail.com+Maintainer : joachifm@fastmail.fm Stability : stable Portability : unportable
src/Network/MPD/Applicative/CurrentPlaylist.hs view
@@ -5,7 +5,7 @@ Copyright : (c) Joachim Fasting 2012 License : MIT -Maintainer : joachim.fasting@gmail.com+Maintainer : joachifm@fastmail.fm Stability : stable Portability : unportable
src/Network/MPD/Applicative/Database.hs view
@@ -5,7 +5,7 @@ Copyright : (c) Joachim Fasting 2012 License : MIT -Maintainer : joachim.fasting@gmail.com+Maintainer : joachifm@fastmail.fm Stability : stable Portability : unportable
src/Network/MPD/Applicative/Internal.hs view
@@ -7,7 +7,7 @@ Copyright : (c) Simon Hengel 2012 License : MIT -Maintainer : joachim.fasting@gmail.com+Maintainer : joachifm@fastmail.fm Stability : stable Portability : unportable
src/Network/MPD/Applicative/Output.hs view
@@ -5,7 +5,7 @@ Copyright : (c) Joachim Fasting 2012 License : MIT -Maintainer : joachim.fasting@gmail.com+Maintainer : joachifm@fastmail.fm Stability : stable Portability : unportable
src/Network/MPD/Applicative/PlaybackControl.hs view
@@ -5,7 +5,7 @@ Copyright : (c) Joachim Fasting 2012 License : MIT -Maintainer : joachim.fasting@gmail.com+Maintainer : joachifm@fastmail.fm Stability : stable Portability : unportable
src/Network/MPD/Applicative/PlaybackOptions.hs view
@@ -5,7 +5,7 @@ Copyright : (c) Joachim Fasting 2012 License : MIT -Maintainer : joachim.fasting@gmail.com+Maintainer : joachifm@fastmail.fm Stability : stable Portability : unportable
src/Network/MPD/Applicative/Reflection.hs view
@@ -5,7 +5,7 @@ Copyright : (c) Joachim Fasting 2012 License : MIT -Maintainer : joachim.fasting@gmail.com+Maintainer : joachifm@fastmail.fm Stability : stable Portability : unportable
src/Network/MPD/Applicative/Status.hs view
@@ -5,7 +5,7 @@ Copyright : (c) Joachim Fasting 2012 License : MIT -Maintainer : joachim.fasting@gmail.com+Maintainer : joachifm@fastmail.fm Stability : stable Portability : unportable
src/Network/MPD/Applicative/Stickers.hs view
@@ -5,7 +5,7 @@ Copyright : (c) Joachim Fasting 2012 License : MIT -Maintainer : joachim.fasting@gmail.com+Maintainer : joachifm@fastmail.fm Stability : stable Portability : unportable
src/Network/MPD/Applicative/StoredPlaylists.hs view
@@ -5,7 +5,7 @@ Copyright : (c) Joachim Fasting 2012 License : MIT -Maintainer : joachim.fasting@gmail.com+Maintainer : joachifm@fastmail.fm Stability : stable Portability : unportable
src/Network/MPD/Commands.hs view
@@ -3,7 +3,7 @@ Copyright : (c) Joachim Fasting 2012 License : MIT -Maintainer : joachim.fasting@gmail.com+Maintainer : joachifm@fastmail.fm Stability : stable Portability : unportable
src/Network/MPD/Commands/Arg.hs view
@@ -5,7 +5,7 @@ Copyright : (c) Joachim Fasting, Simon Hengel 2012 License : MIT -Maintainer : Joachim Fasting <joachim.fasting@gmail.com>+Maintainer : Joachim Fasting <joachifm@fastmail.fm> Stability : alpha Portability : unportable
+ src/Network/MPD/Commands/ClientToClient.hs view
@@ -0,0 +1,47 @@+{-|+Module : Network.MPD.Commands.ClientToClient+Copyright : (c) Joachim Fasting 2013+License : MIT (see LICENSE)++Maintainer : joachifm@fastmail.fm+Stability : stable+Portability : unportable++Client-to-client communication.+-}++module Network.MPD.Commands.ClientToClient+ ( -- * Types+ A.ChannelName+ , A.MessageText+ -- * Subscribing to channels+ , subscribe+ , unsubscribe+ , channels+ -- * Communicating with other clients+ , readMessages+ , sendMessage+ ) where++------------------------------------------------------------------------++import qualified Network.MPD.Applicative.Internal as A+import qualified Network.MPD.Applicative.ClientToClient as A+import Network.MPD.Core++------------------------------------------------------------------------++subscribe :: MonadMPD m => A.ChannelName -> m ()+subscribe = A.runCommand . A.subscribe++unsubscribe :: MonadMPD m => A.ChannelName -> m ()+unsubscribe = A.runCommand . A.subscribe++channels :: MonadMPD m => m [A.ChannelName]+channels = A.runCommand A.channels++readMessages :: MonadMPD m => m [(A.ChannelName, A.MessageText)]+readMessages = A.runCommand A.readMessages++sendMessage :: MonadMPD m => A.ChannelName -> A.MessageText -> m ()+sendMessage name text = A.runCommand (A.sendMessage name text)
src/Network/MPD/Commands/Connection.hs view
@@ -3,7 +3,7 @@ Copyright : (c) Ben Sinclair 2005-2009, Joachim Fasting 2012 License : MIT (see LICENSE) -Maintainer : joachim.fasting@gmail.com+Maintainer : joachifm@fastmail.fm Stability : stable Portability : unportable
src/Network/MPD/Commands/CurrentPlaylist.hs view
@@ -5,7 +5,7 @@ Copyright : (c) Ben Sinclair 2005-2009, Joachim Fasting 2012 License : MIT (see LICENSE) -Maintainer : joachim.fasting@gmail.com+Maintainer : joachifm@fastmail.fm Stability : stable Portability : unportable
src/Network/MPD/Commands/Database.hs view
@@ -5,7 +5,7 @@ Copyright : (c) Ben Sinclair 2005-2009, Joachim Fasting 2012 License : MIT (see LICENSE) -Maintainer : joachim.fasting@gmail.com+Maintainer : joachifm@fastmail.fm Stability : stable Portability : unportable
src/Network/MPD/Commands/Extensions.hs view
@@ -5,7 +5,7 @@ Copyright : (c) Joachim Fasting 2012 License : MIT -Maintainer : Joachim Fasting <joachim.fasting@gmail.com>+Maintainer : Joachim Fasting <joachifm@fastmail.fm> Stability : unstable Portability : unportable
src/Network/MPD/Commands/Output.hs view
@@ -5,7 +5,7 @@ Copyright : (c) Ben Sinclair 2005-2009, Joachim Fasting 2012 License : MIT (see LICENSE) -Maintainer : joachim.fasting@gmail.com+Maintainer : joachifm@fastmail.fm Stability : stable Portability : unportable
src/Network/MPD/Commands/Parse.hs view
@@ -3,7 +3,7 @@ -- | Module : Network.MPD.Commands.Parse -- Copyright : (c) Ben Sinclair 2005-2009, Joachim Fasting 2010 -- License : MIT (see LICENSE)--- Maintainer : Joachim Fasting <joachim.fasting@gmail.com>+-- Maintainer : Joachim Fasting <joachifm@fastmail.fm> -- Stability : alpha -- -- Parsers for MPD data types.
src/Network/MPD/Commands/PlaybackControl.hs view
@@ -5,7 +5,7 @@ Copyright : (c) Ben Sinclair 2005-2009, Joachim Fasting 2012 License : MIT (see LICENSE) -Maintainer : joachim.fasting@gmail.com+Maintainer : joachifm@fastmail.fm Stability : stable Portability : unportable
src/Network/MPD/Commands/PlaybackOptions.hs view
@@ -5,7 +5,7 @@ Copyright : (c) Ben Sinclair 2005-2009, Joachim Fasting 2012 License : MIT (see LICENSE) -Maintainer : joachim.fasting@gmail.com+Maintainer : joachifm@fastmail.fm Stability : stable Portability : unportable
src/Network/MPD/Commands/Query.hs view
@@ -3,7 +3,7 @@ Copyright : (c) Joachim Fasting 2012 License : MIT -Maintainer : Joachim Fasting <joachim.fasting@gmail.com>+Maintainer : Joachim Fasting <joachifm@fastmail.fm> Stability : unstable Portability : unportable
src/Network/MPD/Commands/Reflection.hs view
@@ -5,7 +5,7 @@ Copyright : (c) Ben Sinclair 2005-2009, Joachim Fasting 2012 License : MIT (see LICENSE) -Maintainer : joachim.fasting@gmail.com+Maintainer : joachifm@fastmail.fm Stability : stable Portability : unportable
src/Network/MPD/Commands/Status.hs view
@@ -5,7 +5,7 @@ Copyright : (c) Ben Sinclair 2005-2009, Joachim Fasting 2012 License : MIT (see LICENSE) -Maintainer : joachim.fasting@gmail.com+Maintainer : joachifm@fastmail.fm Stability : stable Portability : unportable
src/Network/MPD/Commands/Stickers.hs view
@@ -5,7 +5,7 @@ Copyright : (c) Ben Sinclair 2005-2009, Joachim Fasting 2012 License : MIT (see LICENSE) -Maintainer : joachim.fasting@gmail.com+Maintainer : joachifm@fastmail.fm Stability : stable Portability : unportable
src/Network/MPD/Commands/StoredPlaylists.hs view
@@ -5,7 +5,7 @@ Copyright : (c) Ben Sinclair 2005-2009, Joachim Fasting 2012 License : MIT (see LICENSE) -Maintainer : joachim.fasting@gmail.com+Maintainer : joachifm@fastmail.fm Stability : stable Portability : unportable
src/Network/MPD/Commands/Types.hs view
@@ -2,7 +2,7 @@ -- | Module : Network.MPD.Commands.Types -- Copyright : (c) Ben Sinclair 2005-2009, Joachim Fasting 2010 -- License : MIT (see LICENSE)--- Maintainer : Joachim Fasting <joachim.fasting@gmail.com>+-- Maintainer : Joachim Fasting <joachifm@fastmail.fm> -- Stability : alpha -- -- Various MPD data structures and types
src/Network/MPD/Core.hs view
@@ -4,7 +4,7 @@ -- | Module : Network.MPD.Core -- Copyright : (c) Ben Sinclair 2005-2009, Joachim Fasting 2010 -- License : MIT (see LICENSE)--- Maintainer : Joachim Fasting <joachim.fasting@gmail.com>+-- Maintainer : Joachim Fasting <joachifm@fastmail.fm> -- Stability : alpha -- -- The core datatypes and operations are defined here, including the
src/Network/MPD/Core/Class.hs view
@@ -3,7 +3,7 @@ -- | Module : Network.MPD.Core.Class -- Copyright : (c) Ben Sinclair 2005-2009, Joachim Fasting 2010 -- License : MIT (see LICENSE)--- Maintainer : Joachim Fasting <joachim.fasting@gmail.com>+-- Maintainer : Joachim Fasting <joachifm@fastmail.fm> -- Stability : alpha -- -- The MPD typeclass.
src/Network/MPD/Core/Error.hs view
@@ -5,7 +5,7 @@ Copyright : (c) Joachim Fasting 2012 License : MIT -Maintainer : Joachim Fasting <joachim.fasting@gmail.com>+Maintainer : Joachim Fasting <joachifm@fastmail.fm> Stability : unstable Portability : unportable
src/Network/MPD/Util.hs view
@@ -2,7 +2,7 @@ -- | Module : Network.MPD.Util -- Copyright : (c) Ben Sinclair 2005-2009, Joachim Fasting 2010 -- License : MIT (see LICENSE)--- Maintainer : Joachim Fasting <joachim.fasting@gmail.com>+-- Maintainer : Joachim Fasting <joachifm@fastmail.fm> -- Stability : alpha -- -- Utilities.