module Csound.Typed.Opcode.SignalFlowGraphOpcodes (
ftgenonce, inleta, inletf, inletk, inletkid, inletv, outleta, outletf, outletk, outletkid, outletv) where
import Control.Monad.Trans.Class
import Control.Monad
import Csound.Dynamic
import Csound.Typed
ftgenonce :: D -> D -> D -> D -> D -> [D] -> SE Tab
ftgenonce :: D -> D -> D -> D -> D -> [D] -> SE Tab
ftgenonce D
b1 D
b2 D
b3 D
b4 D
b5 [D]
b6 =
(E -> Tab) -> SE E -> SE Tab
forall a b. (a -> b) -> SE a -> SE b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ( GE E -> Tab
Tab (GE E -> Tab) -> (E -> GE E) -> E -> Tab
forall b c a. (b -> c) -> (a -> b) -> a -> c
. E -> GE E
forall a. a -> GE a
forall (m :: * -> *) a. Monad m => a -> m a
return) (SE E -> SE Tab) -> SE E -> SE Tab
forall a b. (a -> b) -> a -> b
$ Dep E -> SE E
forall a. Dep a -> SE a
SE (Dep E -> SE E) -> Dep E -> SE E
forall a b. (a -> b) -> a -> b
$ DepT GE (Dep E) -> Dep E
forall (m :: * -> *) a. Monad m => m (m a) -> m a
join (DepT GE (Dep E) -> Dep E) -> DepT GE (Dep E) -> Dep E
forall a b. (a -> b) -> a -> b
$ E -> E -> E -> E -> E -> [E] -> Dep E
forall {m :: * -> *}.
Monad m =>
E -> E -> E -> E -> E -> [E] -> DepT m E
f (E -> E -> E -> E -> E -> [E] -> Dep E)
-> Dep E -> DepT GE (E -> E -> E -> E -> [E] -> Dep E)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (GE E -> Dep E
forall (m :: * -> *) a. Monad m => m a -> DepT m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (GE E -> Dep E) -> (D -> GE E) -> D -> Dep E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. D -> GE E
unD) D
b1 DepT GE (E -> E -> E -> E -> [E] -> Dep E)
-> Dep E -> DepT GE (E -> E -> E -> [E] -> Dep E)
forall a b. DepT GE (a -> b) -> DepT GE a -> DepT GE b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (GE E -> Dep E
forall (m :: * -> *) a. Monad m => m a -> DepT m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (GE E -> Dep E) -> (D -> GE E) -> D -> Dep E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. D -> GE E
unD) D
b2 DepT GE (E -> E -> E -> [E] -> Dep E)
-> Dep E -> DepT GE (E -> E -> [E] -> Dep E)
forall a b. DepT GE (a -> b) -> DepT GE a -> DepT GE b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (GE E -> Dep E
forall (m :: * -> *) a. Monad m => m a -> DepT m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (GE E -> Dep E) -> (D -> GE E) -> D -> Dep E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. D -> GE E
unD) D
b3 DepT GE (E -> E -> [E] -> Dep E)
-> Dep E -> DepT GE (E -> [E] -> Dep E)
forall a b. DepT GE (a -> b) -> DepT GE a -> DepT GE b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (GE E -> Dep E
forall (m :: * -> *) a. Monad m => m a -> DepT m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (GE E -> Dep E) -> (D -> GE E) -> D -> Dep E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. D -> GE E
unD) D
b4 DepT GE (E -> [E] -> Dep E) -> Dep E -> DepT GE ([E] -> Dep E)
forall a b. DepT GE (a -> b) -> DepT GE a -> DepT GE b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (GE E -> Dep E
forall (m :: * -> *) a. Monad m => m a -> DepT m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (GE E -> Dep E) -> (D -> GE E) -> D -> Dep E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. D -> GE E
unD) D
b5 DepT GE ([E] -> Dep E) -> DepT GE [E] -> DepT GE (Dep E)
forall a b. DepT GE (a -> b) -> DepT GE a -> DepT GE b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (D -> Dep E) -> [D] -> DepT GE [E]
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
forall (m :: * -> *) a b. Monad m => (a -> m b) -> [a] -> m [b]
mapM (GE E -> Dep E
forall (m :: * -> *) a. Monad m => m a -> DepT m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (GE E -> Dep E) -> (D -> GE E) -> D -> Dep E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. D -> GE E
unD) [D]
b6
where
f :: E -> E -> E -> E -> E -> [E] -> DepT m E
f E
a1 E
a2 E
a3 E
a4 E
a5 [E]
a6 = Name -> Spec1 -> [E] -> DepT m E
forall (m :: * -> *). Monad m => Name -> Spec1 -> [E] -> DepT m E
opcsDep Name
"ftgenonce" [(Rate
Ir,(Rate -> [Rate]
forall a. a -> [a]
repeat Rate
Ir))] ([E
a1,E
a2,E
a3,E
a4,E
a5] [E] -> [E] -> [E]
forall a. [a] -> [a] -> [a]
++ [E]
a6)
inleta :: Str -> Sig
inleta :: Str -> Sig
inleta Str
b1 =
GE E -> Sig
Sig (GE E -> Sig) -> GE E -> Sig
forall a b. (a -> b) -> a -> b
$ E -> E
f (E -> E) -> GE E -> GE E
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Str -> GE E
unStr Str
b1
where
f :: E -> E
f E
a1 = Name -> Spec1 -> [E] -> E
opcs Name
"inleta" [(Rate
Ar,[Rate
Sr])] [E
a1]
inletf :: Str -> Spec
inletf :: Str -> Spec
inletf Str
b1 =
GE E -> Spec
Spec (GE E -> Spec) -> GE E -> Spec
forall a b. (a -> b) -> a -> b
$ E -> E
f (E -> E) -> GE E -> GE E
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Str -> GE E
unStr Str
b1
where
f :: E -> E
f E
a1 = Name -> Spec1 -> [E] -> E
opcs Name
"inletf" [(Rate
Fr,[Rate
Sr])] [E
a1]
inletk :: Str -> Sig
inletk :: Str -> Sig
inletk Str
b1 =
GE E -> Sig
Sig (GE E -> Sig) -> GE E -> Sig
forall a b. (a -> b) -> a -> b
$ E -> E
f (E -> E) -> GE E -> GE E
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Str -> GE E
unStr Str
b1
where
f :: E -> E
f E
a1 = Name -> Spec1 -> [E] -> E
opcs Name
"inletk" [(Rate
Kr,[Rate
Sr])] [E
a1]
inletkid :: Str -> Str -> Sig
inletkid :: Str -> Str -> Sig
inletkid Str
b1 Str
b2 =
GE E -> Sig
Sig (GE E -> Sig) -> GE E -> Sig
forall a b. (a -> b) -> a -> b
$ E -> E -> E
f (E -> E -> E) -> GE E -> GE (E -> E)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Str -> GE E
unStr Str
b1 GE (E -> E) -> GE E -> GE E
forall a b. GE (a -> b) -> GE a -> GE b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Str -> GE E
unStr Str
b2
where
f :: E -> E -> E
f E
a1 E
a2 = Name -> Spec1 -> [E] -> E
opcs Name
"inletkid" [(Rate
Kr,[Rate
Sr,Rate
Sr])] [E
a1,E
a2]
inletv :: Str -> Sig
inletv :: Str -> Sig
inletv Str
b1 =
GE E -> Sig
Sig (GE E -> Sig) -> GE E -> Sig
forall a b. (a -> b) -> a -> b
$ E -> E
f (E -> E) -> GE E -> GE E
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Str -> GE E
unStr Str
b1
where
f :: E -> E
f E
a1 = Name -> Spec1 -> [E] -> E
opcs Name
"inletv" [(Rate
Ar,[Rate
Sr])] [E
a1]
outleta :: Str -> Sig -> SE ()
outleta :: Str -> Sig -> SE ()
outleta Str
b1 Sig
b2 =
Dep () -> SE ()
forall a. Dep a -> SE a
SE (Dep () -> SE ()) -> Dep () -> SE ()
forall a b. (a -> b) -> a -> b
$ DepT GE (Dep ()) -> Dep ()
forall (m :: * -> *) a. Monad m => m (m a) -> m a
join (DepT GE (Dep ()) -> Dep ()) -> DepT GE (Dep ()) -> Dep ()
forall a b. (a -> b) -> a -> b
$ E -> E -> Dep ()
forall {m :: * -> *}. Monad m => E -> E -> DepT m ()
f (E -> E -> Dep ()) -> Dep E -> DepT GE (E -> Dep ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (GE E -> Dep E
forall (m :: * -> *) a. Monad m => m a -> DepT m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (GE E -> Dep E) -> (Str -> GE E) -> Str -> Dep E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Str -> GE E
unStr) Str
b1 DepT GE (E -> Dep ()) -> Dep E -> DepT GE (Dep ())
forall a b. DepT GE (a -> b) -> DepT GE a -> DepT GE b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (GE E -> Dep E
forall (m :: * -> *) a. Monad m => m a -> DepT m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (GE E -> Dep E) -> (Sig -> GE E) -> Sig -> Dep E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Sig -> GE E
unSig) Sig
b2
where
f :: E -> E -> DepT m ()
f E
a1 E
a2 = Name -> Spec1 -> [E] -> DepT m ()
forall (m :: * -> *). Monad m => Name -> Spec1 -> [E] -> DepT m ()
opcsDep_ Name
"outleta" [(Rate
Xr,[Rate
Sr,Rate
Ar])] [E
a1,E
a2]
outletf :: Str -> Spec -> SE ()
outletf :: Str -> Spec -> SE ()
outletf Str
b1 Spec
b2 =
Dep () -> SE ()
forall a. Dep a -> SE a
SE (Dep () -> SE ()) -> Dep () -> SE ()
forall a b. (a -> b) -> a -> b
$ DepT GE (Dep ()) -> Dep ()
forall (m :: * -> *) a. Monad m => m (m a) -> m a
join (DepT GE (Dep ()) -> Dep ()) -> DepT GE (Dep ()) -> Dep ()
forall a b. (a -> b) -> a -> b
$ E -> E -> Dep ()
forall {m :: * -> *}. Monad m => E -> E -> DepT m ()
f (E -> E -> Dep ()) -> Dep E -> DepT GE (E -> Dep ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (GE E -> Dep E
forall (m :: * -> *) a. Monad m => m a -> DepT m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (GE E -> Dep E) -> (Str -> GE E) -> Str -> Dep E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Str -> GE E
unStr) Str
b1 DepT GE (E -> Dep ()) -> Dep E -> DepT GE (Dep ())
forall a b. DepT GE (a -> b) -> DepT GE a -> DepT GE b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (GE E -> Dep E
forall (m :: * -> *) a. Monad m => m a -> DepT m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (GE E -> Dep E) -> (Spec -> GE E) -> Spec -> Dep E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Spec -> GE E
unSpec) Spec
b2
where
f :: E -> E -> DepT m ()
f E
a1 E
a2 = Name -> Spec1 -> [E] -> DepT m ()
forall (m :: * -> *). Monad m => Name -> Spec1 -> [E] -> DepT m ()
opcsDep_ Name
"outletf" [(Rate
Xr,[Rate
Sr,Rate
Fr])] [E
a1,E
a2]
outletk :: Str -> Sig -> SE ()
outletk :: Str -> Sig -> SE ()
outletk Str
b1 Sig
b2 =
Dep () -> SE ()
forall a. Dep a -> SE a
SE (Dep () -> SE ()) -> Dep () -> SE ()
forall a b. (a -> b) -> a -> b
$ DepT GE (Dep ()) -> Dep ()
forall (m :: * -> *) a. Monad m => m (m a) -> m a
join (DepT GE (Dep ()) -> Dep ()) -> DepT GE (Dep ()) -> Dep ()
forall a b. (a -> b) -> a -> b
$ E -> E -> Dep ()
forall {m :: * -> *}. Monad m => E -> E -> DepT m ()
f (E -> E -> Dep ()) -> Dep E -> DepT GE (E -> Dep ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (GE E -> Dep E
forall (m :: * -> *) a. Monad m => m a -> DepT m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (GE E -> Dep E) -> (Str -> GE E) -> Str -> Dep E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Str -> GE E
unStr) Str
b1 DepT GE (E -> Dep ()) -> Dep E -> DepT GE (Dep ())
forall a b. DepT GE (a -> b) -> DepT GE a -> DepT GE b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (GE E -> Dep E
forall (m :: * -> *) a. Monad m => m a -> DepT m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (GE E -> Dep E) -> (Sig -> GE E) -> Sig -> Dep E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Sig -> GE E
unSig) Sig
b2
where
f :: E -> E -> DepT m ()
f E
a1 E
a2 = Name -> Spec1 -> [E] -> DepT m ()
forall (m :: * -> *). Monad m => Name -> Spec1 -> [E] -> DepT m ()
opcsDep_ Name
"outletk" [(Rate
Xr,[Rate
Sr,Rate
Kr])] [E
a1,E
a2]
outletkid :: Str -> Str -> Sig -> SE ()
outletkid :: Str -> Str -> Sig -> SE ()
outletkid Str
b1 Str
b2 Sig
b3 =
Dep () -> SE ()
forall a. Dep a -> SE a
SE (Dep () -> SE ()) -> Dep () -> SE ()
forall a b. (a -> b) -> a -> b
$ DepT GE (Dep ()) -> Dep ()
forall (m :: * -> *) a. Monad m => m (m a) -> m a
join (DepT GE (Dep ()) -> Dep ()) -> DepT GE (Dep ()) -> Dep ()
forall a b. (a -> b) -> a -> b
$ E -> E -> E -> Dep ()
forall {m :: * -> *}. Monad m => E -> E -> E -> DepT m ()
f (E -> E -> E -> Dep ()) -> Dep E -> DepT GE (E -> E -> Dep ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (GE E -> Dep E
forall (m :: * -> *) a. Monad m => m a -> DepT m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (GE E -> Dep E) -> (Str -> GE E) -> Str -> Dep E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Str -> GE E
unStr) Str
b1 DepT GE (E -> E -> Dep ()) -> Dep E -> DepT GE (E -> Dep ())
forall a b. DepT GE (a -> b) -> DepT GE a -> DepT GE b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (GE E -> Dep E
forall (m :: * -> *) a. Monad m => m a -> DepT m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (GE E -> Dep E) -> (Str -> GE E) -> Str -> Dep E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Str -> GE E
unStr) Str
b2 DepT GE (E -> Dep ()) -> Dep E -> DepT GE (Dep ())
forall a b. DepT GE (a -> b) -> DepT GE a -> DepT GE b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (GE E -> Dep E
forall (m :: * -> *) a. Monad m => m a -> DepT m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (GE E -> Dep E) -> (Sig -> GE E) -> Sig -> Dep E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Sig -> GE E
unSig) Sig
b3
where
f :: E -> E -> E -> DepT m ()
f E
a1 E
a2 E
a3 = Name -> Spec1 -> [E] -> DepT m ()
forall (m :: * -> *). Monad m => Name -> Spec1 -> [E] -> DepT m ()
opcsDep_ Name
"outletkid" [(Rate
Xr,[Rate
Sr,Rate
Sr,Rate
Kr])] [E
a1,E
a2,E
a3]
outletv :: Str -> Sig -> SE ()
outletv :: Str -> Sig -> SE ()
outletv Str
b1 Sig
b2 =
Dep () -> SE ()
forall a. Dep a -> SE a
SE (Dep () -> SE ()) -> Dep () -> SE ()
forall a b. (a -> b) -> a -> b
$ DepT GE (Dep ()) -> Dep ()
forall (m :: * -> *) a. Monad m => m (m a) -> m a
join (DepT GE (Dep ()) -> Dep ()) -> DepT GE (Dep ()) -> Dep ()
forall a b. (a -> b) -> a -> b
$ E -> E -> Dep ()
forall {m :: * -> *}. Monad m => E -> E -> DepT m ()
f (E -> E -> Dep ()) -> Dep E -> DepT GE (E -> Dep ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (GE E -> Dep E
forall (m :: * -> *) a. Monad m => m a -> DepT m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (GE E -> Dep E) -> (Str -> GE E) -> Str -> Dep E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Str -> GE E
unStr) Str
b1 DepT GE (E -> Dep ()) -> Dep E -> DepT GE (Dep ())
forall a b. DepT GE (a -> b) -> DepT GE a -> DepT GE b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (GE E -> Dep E
forall (m :: * -> *) a. Monad m => m a -> DepT m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (GE E -> Dep E) -> (Sig -> GE E) -> Sig -> Dep E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Sig -> GE E
unSig) Sig
b2
where
f :: E -> E -> DepT m ()
f E
a1 E
a2 = Name -> Spec1 -> [E] -> DepT m ()
forall (m :: * -> *). Monad m => Name -> Spec1 -> [E] -> DepT m ()
opcsDep_ Name
"outletv" [(Rate
Xr,[Rate
Sr,Rate
Ar])] [E
a1,E
a2]