module Csound.Typed.Opcode.RemoteOpcodes (
insglobal, insremot, midglobal, midremot) where
import Control.Monad.Trans.Class
import Control.Monad
import Csound.Dynamic
import Csound.Typed
insglobal :: D -> D -> SE ()
insglobal :: D -> D -> SE ()
insglobal D
b1 D
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 ()) -> DepT GE E -> DepT GE (E -> Dep ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (GE E -> DepT GE 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 -> DepT GE E) -> (D -> GE E) -> D -> DepT GE E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. D -> GE E
unD) D
b1 DepT GE (E -> Dep ()) -> DepT GE 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 -> DepT GE 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 -> DepT GE E) -> (D -> GE E) -> D -> DepT GE E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. D -> GE E
unD) D
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
"insglobal" [(Rate
Xr,(Rate -> [Rate]
forall a. a -> [a]
repeat Rate
Ir))] [E
a1,E
a2]
insremot :: D -> D -> D -> SE ()
insremot :: D -> D -> D -> SE ()
insremot D
b1 D
b2 D
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 ()) -> DepT GE E -> DepT GE (E -> E -> Dep ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (GE E -> DepT GE 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 -> DepT GE E) -> (D -> GE E) -> D -> DepT GE E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. D -> GE E
unD) D
b1 DepT GE (E -> E -> Dep ()) -> DepT GE 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 -> DepT GE 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 -> DepT GE E) -> (D -> GE E) -> D -> DepT GE E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. D -> GE E
unD) D
b2 DepT GE (E -> Dep ()) -> DepT GE 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 -> DepT GE 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 -> DepT GE E) -> (D -> GE E) -> D -> DepT GE E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. D -> GE E
unD) D
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
"insremot" [(Rate
Xr,(Rate -> [Rate]
forall a. a -> [a]
repeat Rate
Ir))] [E
a1,E
a2,E
a3]
midglobal :: D -> D -> SE ()
midglobal :: D -> D -> SE ()
midglobal D
b1 D
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 ()) -> DepT GE E -> DepT GE (E -> Dep ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (GE E -> DepT GE 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 -> DepT GE E) -> (D -> GE E) -> D -> DepT GE E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. D -> GE E
unD) D
b1 DepT GE (E -> Dep ()) -> DepT GE 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 -> DepT GE 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 -> DepT GE E) -> (D -> GE E) -> D -> DepT GE E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. D -> GE E
unD) D
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
"midglobal" [(Rate
Xr,(Rate -> [Rate]
forall a. a -> [a]
repeat Rate
Ir))] [E
a1,E
a2]
midremot :: D -> D -> D -> SE ()
midremot :: D -> D -> D -> SE ()
midremot D
b1 D
b2 D
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 ()) -> DepT GE E -> DepT GE (E -> E -> Dep ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (GE E -> DepT GE 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 -> DepT GE E) -> (D -> GE E) -> D -> DepT GE E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. D -> GE E
unD) D
b1 DepT GE (E -> E -> Dep ()) -> DepT GE 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 -> DepT GE 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 -> DepT GE E) -> (D -> GE E) -> D -> DepT GE E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. D -> GE E
unD) D
b2 DepT GE (E -> Dep ()) -> DepT GE 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 -> DepT GE 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 -> DepT GE E) -> (D -> GE E) -> D -> DepT GE E
forall b c a. (b -> c) -> (a -> b) -> a -> c
. D -> GE E
unD) D
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
"midremot" [(Rate
Xr,(Rate -> [Rate]
forall a. a -> [a]
repeat Rate
Ir))] [E
a1,E
a2,E
a3]