-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Language for algorithmic generation of MIDI files -- -- MIDA is a minimalistic language for algorithmic generation of MIDI -- files. MIDA is not interactive in sense that you cannot control result -- of its activity in real time, it is intended for producers and should -- be used with a DAW. MIDA can help you create variative elements in -- your music in a very simple way. Since MIDI can control a lot of -- different instruments, power of MIDA is truly great. Main reason for -- MIDA development is to create software tool that can be used in such a -- way that does not change established workflow, so people could use -- familiar plugins and software instruments. The core concept of MIDA is -- building systems with complex behaviors from very basic and -- easy-to-understand elements and powerful means of their composition. -- Currently MIDA can be used to translate source files into .mid files, -- and also in interactive mode that will help you to understand how MIDA -- language works. See MIDA Manual for more information. @package mida @version 0.4.5 module Mida.Language.Element type Principle = [Elt] type Elt = Element Int data Element a Val :: a -> Element a Sec :: [Element a] -> Element a Mul :: [Element a] -> Element a CMul :: [([Element a], [Element a])] -> Element a instance Data.Foldable.Foldable Mida.Language.Element.Element instance GHC.Base.Functor Mida.Language.Element.Element instance GHC.Show.Show a => GHC.Show.Show (Mida.Language.Element.Element a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Mida.Language.Element.Element a) instance GHC.Base.Applicative Mida.Language.Element.Element module Mida.Language.SyntaxTree type SyntaxTree = [Sel] data Sel Value :: Int -> Sel Section :: [Sel] -> Sel Multi :: [Sel] -> Sel CMulti :: [([Sel], [Sel])] -> Sel Reference :: String -> Sel Range :: Int -> Int -> Sel Product :: Sel -> Sel -> Sel Division :: Sel -> Sel -> Sel Sum :: Sel -> Sel -> Sel Diff :: Sel -> Sel -> Sel Loop :: Sel -> Sel -> Sel Rotation :: Sel -> Sel -> Sel Reverse :: Sel -> Sel instance GHC.Show.Show Mida.Language.SyntaxTree.Sel instance GHC.Classes.Eq Mida.Language.SyntaxTree.Sel module Mida.Representation.Parser data Statement Definition :: String -> SyntaxTree -> Statement Exposition :: SyntaxTree -> Statement probeMida :: Text -> Bool parseMida :: String -> Text -> Either String [Statement] instance GHC.Show.Show Mida.Representation.Parser.Statement instance GHC.Classes.Eq Mida.Representation.Parser.Statement module Mida.Representation.Show showStatement :: Statement -> Text showDefinition :: String -> SyntaxTree -> Text showSyntaxTree :: SyntaxTree -> Text showPrinciple :: Principle -> Text module Mida.Language.Environment newtype MidaEnv m a MidaEnv :: StateT MidaEnvSt m a -> MidaEnv m a [unMidaEnv] :: MidaEnv m a -> StateT MidaEnvSt m a runMidaEnv :: Monad m => MidaEnv m a -> m a addDef :: Monad m => String -> SyntaxTree -> MidaEnv m () remDef :: Monad m => String -> MidaEnv m () clearDefs :: Monad m => MidaEnv m () getPrin :: Monad m => String -> MidaEnv m SyntaxTree getSrc :: Monad m => String -> MidaEnv m Text fullSrc :: Monad m => MidaEnv m Text getRefs :: Monad m => MidaEnv m [String] purgeEnv :: Monad m => [String] -> MidaEnv m () checkRecur :: Monad m => String -> SyntaxTree -> MidaEnv m Bool setRandGen :: Monad m => Int -> MidaEnv m () newRandGen :: Monad m => MidaEnv m TFGen instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Mida.Language.Environment.MidaEnv m) instance Control.Monad.Trans.Class.MonadTrans Mida.Language.Environment.MidaEnv instance GHC.Base.Monad m => Control.Monad.State.Class.MonadState Mida.Language.Environment.MidaEnvSt (Mida.Language.Environment.MidaEnv m) instance GHC.Base.Monad m => GHC.Base.Monad (Mida.Language.Environment.MidaEnv m) instance GHC.Base.Monad m => GHC.Base.Applicative (Mida.Language.Environment.MidaEnv m) instance GHC.Base.Functor m => GHC.Base.Functor (Mida.Language.Environment.MidaEnv m) module Mida.Language.Eval evalDef :: Monad m => String -> MidaEnv m [Int] eval :: Monad m => SyntaxTree -> MidaEnv m [Int] toPrin :: Monad m => SyntaxTree -> MidaEnv m Principle instance Control.Monad.State.Class.MonadState Mida.Language.Eval.CalcSt Mida.Language.Eval.Calc instance GHC.Base.Monad Mida.Language.Eval.Calc instance GHC.Base.Applicative Mida.Language.Eval.Calc instance GHC.Base.Functor Mida.Language.Eval.Calc module Mida.Representation data Statement Definition :: String -> SyntaxTree -> Statement Exposition :: SyntaxTree -> Statement probeMida :: Text -> Bool parseMida :: String -> Text -> Either String [Statement] showStatement :: Statement -> Text showSyntaxTree :: SyntaxTree -> Text showPrinciple :: Principle -> Text module Mida.Language type SyntaxTree = [Sel] data Sel Value :: Int -> Sel Section :: [Sel] -> Sel Multi :: [Sel] -> Sel CMulti :: [([Sel], [Sel])] -> Sel Reference :: String -> Sel Range :: Int -> Int -> Sel Product :: Sel -> Sel -> Sel Division :: Sel -> Sel -> Sel Sum :: Sel -> Sel -> Sel Diff :: Sel -> Sel -> Sel Loop :: Sel -> Sel -> Sel Rotation :: Sel -> Sel -> Sel Reverse :: Sel -> Sel type Principle = [Elt] type Elt = Element Int data Element a Val :: a -> Element a Sec :: [Element a] -> Element a Mul :: [Element a] -> Element a CMul :: [([Element a], [Element a])] -> Element a newtype MidaEnv m a MidaEnv :: StateT MidaEnvSt m a -> MidaEnv m a [unMidaEnv] :: MidaEnv m a -> StateT MidaEnvSt m a runMidaEnv :: Monad m => MidaEnv m a -> m a addDef :: Monad m => String -> SyntaxTree -> MidaEnv m () remDef :: Monad m => String -> MidaEnv m () clearDefs :: Monad m => MidaEnv m () getPrin :: Monad m => String -> MidaEnv m SyntaxTree getSrc :: Monad m => String -> MidaEnv m Text fullSrc :: Monad m => MidaEnv m Text getRefs :: Monad m => MidaEnv m [String] purgeEnv :: Monad m => [String] -> MidaEnv m () checkRecur :: Monad m => String -> SyntaxTree -> MidaEnv m Bool setRandGen :: Monad m => Int -> MidaEnv m () newRandGen :: Monad m => MidaEnv m TFGen evalDef :: Monad m => String -> MidaEnv m [Int] eval :: Monad m => SyntaxTree -> MidaEnv m [Int] toPrin :: Monad m => SyntaxTree -> MidaEnv m Principle module Mida.Midi genMidi :: Monad m => Int -> Int -> Int -> MidaEnv m Midi topDefs :: [String] module Mida.Configuration type Params = Map String String parseConfig :: String -> Text -> Either String Params lookupCfg :: Parsable a => Params -> String -> a -> a instance Mida.Configuration.Parsable GHC.Base.String instance Mida.Configuration.Parsable GHC.Types.Int instance Mida.Configuration.Parsable GHC.Types.Bool