packages feed

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 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.