module Blucontrol ( -- * main {- | For most configurations 'blucontrol' should be called directly from the @main@ function in @$XDG_CONFIG_HOME\/blucontrol\/blucontrol.hs@ -} blucontrol , BlucontrolConstraints {- | 'ConfigControl' will set the monads in which calculation and application of values will take place. -} , ConfigControl (..) -- * Control -- | Modules with instances of 'MonadControl' can be found under @Blucontrol.Monad.Control.*@. , MonadControl (..) {- | To compose instances of 'MonadControl' avoid function composition, as it won't compose 'doInbetween'. Use '!>' instead. -} , (!>) -- * Prepare value -- | Modules with instances of 'MonadPrepareValue' can be found under @Blucontrol.Monad.PrepareValue.*@. , MonadPrepareValue (..) -- * ApplyValue -- | Modules with instances of 'MonadApplyValue' can be found under @Blucontrol.Monad.ApplyValue.*@. , MonadApplyValue (..) -- * other , Default (..) ) where import Data.Default import Blucontrol.Main import Blucontrol.Monad.ApplyValue import Blucontrol.Monad.Control import Blucontrol.Monad.Control.Concat import Blucontrol.Monad.PrepareValue