csound-expression-4.8: library to make electronic music

Safe HaskellNone
LanguageHaskell98

Csound.Control.SE

Synopsis

Documentation

data SE a :: * -> *

The Csound's IO-monad. All values that produce side effects are wrapped in the SE-monad.

Instances

Monad SE 
Functor SE 
Applicative SE 
SigSpace FxFun 
FxUI FxFun 
At Sig2 Sig2 a => At Sig2 Sig2 (Source a) 
At Sig2 Sig2 (SE Sig2) 
At Sig2 Sig2 (SE Sig) 
At Sig Sig2 (SE Sig2) 
At Sig Sig2 (SE Sig) 
At Sig2 (SE Sig2) Sig2 
At Sig2 (SE Sig2) Sig 
At Sig (SE Sig) Sig2 
At Sig (SE Sig) Sig3 
At Sig (SE Sig) Sig4 
At Sig (SE Sig) Sig 
At Sig2 (SE Sig2) a => At Sig2 (SE Sig2) (Source a) 
At Sig2 (SE Sig2) (SE Sig2) 
At Sig2 (SE Sig2) (SE Sig) 
At Sig (SE Sig) a => At Sig (SE Sig) (Source a) 
At Sig (SE Sig) (SE Sig2) 
At Sig (SE Sig) (SE Sig3) 
At Sig (SE Sig) (SE Sig4) 
At Sig (SE Sig) (SE Sig) 
Fractional (SE (Sig, Sig)) 
Fractional (SE (Sig, Sig, Sig)) 
Fractional (SE (Sig, Sig, Sig, Sig)) 
Fractional (SE Sig) 
Num (SE (Sig, Sig)) 
Num (SE (Sig, Sig, Sig)) 
Num (SE (Sig, Sig, Sig, Sig)) 
Num (SE Sig) 
AmpInstr (SE (Sig, Sig)) 
AmpInstr (SE Sig) 
Outs (SE (Sig, Sig)) 
Outs (SE (Sig, Sig, Sig, Sig)) 
Outs (SE Sig) 
BindSig (SE (Sig, Sig)) 
BindSig (SE (Sig, Sig, Sig)) 
BindSig (SE (Sig, Sig, Sig, Sig)) 
BindSig (SE Sig) 
SigSpace a => SigSpace (Source a) 
SigSpace (SE (Sig, Sig)) 
SigSpace (SE (Sig, Sig, Sig)) 
SigSpace (SE (Sig, Sig, Sig, Sig)) 
SigSpace (SE Sig) 
RenderCsd (Source Sig2) 
RenderCsd (Source Sig4) 
RenderCsd (Source Sig) 
RenderCsd (Source (SE Sig2)) 
RenderCsd (Source (SE Sig4)) 
RenderCsd (Source (SE Sig)) 
RenderCsd (SE ()) 
RenderCsd (SE (Sig8, Sig8)) 
RenderCsd (SE (Sig8, Sig8, Sig8, Sig8)) 
RenderCsd (SE Sig2) 
RenderCsd (SE Sig4) 
RenderCsd (SE Sig6) 
RenderCsd (SE Sig8) 
RenderCsd (SE Sig) 
Fractional (a -> SE (Sig, Sig, Sig, Sig)) 
Fractional (a -> SE (Sig, Sig, Sig)) 
Fractional (a -> SE (Sig, Sig)) 
Fractional (a -> SE Sig) 
Num (a -> SE (Sig, Sig, Sig, Sig)) 
Num (a -> SE (Sig, Sig, Sig)) 
Num (a -> SE (Sig, Sig)) 
Num (a -> SE Sig) 
CpsInstr ((Sig, Sig) -> SE (Sig, Sig)) 
CpsInstr ((Sig, Sig) -> SE Sig) 
CpsInstr ((Sig, D) -> SE (Sig, Sig)) 
CpsInstr ((Sig, D) -> SE Sig) 
CpsInstr ((D, Sig) -> SE (Sig, Sig)) 
CpsInstr ((D, Sig) -> SE Sig) 
CpsInstr ((D, D) -> SE (Sig, Sig)) 
CpsInstr ((D, D) -> SE Sig) 
CpsInstr (Sig -> SE (Sig, Sig)) 
CpsInstr (Sig -> SE Sig) 
CpsInstr (D -> SE (Sig, Sig)) 
CpsInstr (D -> SE Sig) 
AmpInstr (Sig -> SE (Sig, Sig)) 
AmpInstr (Sig -> SE Sig) 
AmpInstr (D -> SE (Sig, Sig)) 
AmpInstr (D -> SE Sig) 
MidiInstr ((Sig, Sig) -> SE (Sig, Sig)) 
MidiInstr ((Sig, Sig) -> SE (Sig, Sig, Sig)) 
MidiInstr ((Sig, Sig) -> SE (Sig, Sig, Sig, Sig)) 
MidiInstr ((Sig, Sig) -> SE Sig) 
MidiInstr ((Sig, D) -> SE (Sig, Sig)) 
MidiInstr ((Sig, D) -> SE (Sig, Sig, Sig)) 
MidiInstr ((Sig, D) -> SE (Sig, Sig, Sig, Sig)) 
MidiInstr ((Sig, D) -> SE Sig) 
MidiInstr ((D, Sig) -> SE (Sig, Sig)) 
MidiInstr ((D, Sig) -> SE (Sig, Sig, Sig)) 
MidiInstr ((D, Sig) -> SE (Sig, Sig, Sig, Sig)) 
MidiInstr ((D, Sig) -> SE Sig) 
MidiInstr ((D, D) -> SE (Sig, Sig)) 
MidiInstr ((D, D) -> SE (Sig, Sig, Sig)) 
MidiInstr ((D, D) -> SE (Sig, Sig, Sig, Sig)) 
MidiInstr ((D, D) -> SE Sig) 
MidiInstr (Sig -> SE (Sig, Sig)) 
MidiInstr (Sig -> SE (Sig, Sig, Sig)) 
MidiInstr (Sig -> SE (Sig, Sig, Sig, Sig)) 
MidiInstr (Sig -> SE Sig) 
MidiInstr (D -> SE (Sig, Sig)) 
MidiInstr (D -> SE (Sig, Sig, Sig)) 
MidiInstr (D -> SE (Sig, Sig, Sig, Sig)) 
MidiInstr (D -> SE Sig) 
MidiInstr (Msg -> SE (Sig, Sig)) 
MidiInstr (Msg -> SE (Sig, Sig, Sig)) 
MidiInstr (Msg -> SE (Sig, Sig, Sig, Sig)) 
MidiInstr (Msg -> SE Sig) 
(Sigs a, Sigs b) => RenderCsd (a -> SE b) 
type AtOut Sig2 Sig2 (Source a) = Source (AtOut Sig2 Sig2 a) 
type AtOut Sig2 Sig2 (SE Sig2) = SE Sig2 
type AtOut Sig2 Sig2 (SE Sig) = SE Sig2 
type AtOut Sig Sig2 (SE Sig2) = SE Sig2 
type AtOut Sig Sig2 (SE Sig) = SE Sig2 
type AtOut Sig2 (SE Sig2) Sig2 = SE Sig2 
type AtOut Sig2 (SE Sig2) Sig = SE Sig2 
type AtOut Sig (SE Sig) Sig2 = SE Sig2 
type AtOut Sig (SE Sig) Sig3 = SE Sig3 
type AtOut Sig (SE Sig) Sig4 = SE Sig4 
type AtOut Sig (SE Sig) Sig = SE Sig 
type AtOut Sig2 (SE Sig2) (Source a) = Source (AtOut Sig2 (SE Sig2) a) 
type AtOut Sig2 (SE Sig2) (SE Sig2) = SE Sig2 
type AtOut Sig2 (SE Sig2) (SE Sig) = SE Sig2 
type AtOut Sig (SE Sig) (Source a) = Source (AtOut Sig (SE Sig) a) 
type AtOut Sig (SE Sig) (SE Sig2) = SE Sig2 
type AtOut Sig (SE Sig) (SE Sig3) = SE Sig3 
type AtOut Sig (SE Sig) (SE Sig4) = SE Sig4 
type AtOut Sig (SE Sig) (SE Sig) = SE Sig 
type AmpInstrOut (SE (Sig, Sig)) = (Sig, Sig) 
type AmpInstrOut (SE Sig) = Sig 
type SigOuts (SE (Sig, Sig)) = (Sig, Sig) 
type SigOuts (SE (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) 
type SigOuts (SE Sig) = Sig 
type CpsInstrOut ((Sig, Sig) -> SE (Sig, Sig)) = (Sig, Sig) 
type CpsInstrOut ((Sig, Sig) -> SE Sig) = Sig 
type CpsInstrOut ((Sig, D) -> SE (Sig, Sig)) = (Sig, Sig) 
type CpsInstrOut ((Sig, D) -> SE Sig) = Sig 
type CpsInstrOut ((D, Sig) -> SE (Sig, Sig)) = (Sig, Sig) 
type CpsInstrOut ((D, Sig) -> SE Sig) = Sig 
type CpsInstrOut ((D, D) -> SE (Sig, Sig)) = (Sig, Sig) 
type CpsInstrOut ((D, D) -> SE Sig) = Sig 
type CpsInstrOut (Sig -> SE (Sig, Sig)) = (Sig, Sig) 
type CpsInstrOut (Sig -> SE Sig) = Sig 
type CpsInstrOut (D -> SE (Sig, Sig)) = (Sig, Sig) 
type CpsInstrOut (D -> SE Sig) = Sig 
type AmpInstrOut (Sig -> SE (Sig, Sig)) = (Sig, Sig) 
type AmpInstrOut (Sig -> SE Sig) = Sig 
type AmpInstrOut (D -> SE (Sig, Sig)) = (Sig, Sig) 
type AmpInstrOut (D -> SE Sig) = Sig 
type MidiInstrOut ((Sig, Sig) -> SE (Sig, Sig)) = (Sig, Sig) 
type MidiInstrOut ((Sig, Sig) -> SE (Sig, Sig, Sig)) = (Sig, Sig, Sig) 
type MidiInstrOut ((Sig, Sig) -> SE (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) 
type MidiInstrOut ((Sig, Sig) -> SE Sig) = Sig 
type MidiInstrOut ((Sig, D) -> SE (Sig, Sig)) = (Sig, Sig) 
type MidiInstrOut ((Sig, D) -> SE (Sig, Sig, Sig)) = (Sig, Sig, Sig) 
type MidiInstrOut ((Sig, D) -> SE (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) 
type MidiInstrOut ((Sig, D) -> SE Sig) = Sig 
type MidiInstrOut ((D, Sig) -> SE (Sig, Sig)) = (Sig, Sig) 
type MidiInstrOut ((D, Sig) -> SE (Sig, Sig, Sig)) = (Sig, Sig, Sig) 
type MidiInstrOut ((D, Sig) -> SE (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) 
type MidiInstrOut ((D, Sig) -> SE Sig) = Sig 
type MidiInstrOut ((D, D) -> SE (Sig, Sig)) = (Sig, Sig) 
type MidiInstrOut ((D, D) -> SE (Sig, Sig, Sig)) = (Sig, Sig, Sig) 
type MidiInstrOut ((D, D) -> SE (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) 
type MidiInstrOut ((D, D) -> SE Sig) = Sig 
type MidiInstrOut (Sig -> SE (Sig, Sig)) = (Sig, Sig) 
type MidiInstrOut (Sig -> SE (Sig, Sig, Sig)) = (Sig, Sig, Sig) 
type MidiInstrOut (Sig -> SE (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) 
type MidiInstrOut (Sig -> SE Sig) = Sig 
type MidiInstrOut (D -> SE (Sig, Sig)) = (Sig, Sig) 
type MidiInstrOut (D -> SE (Sig, Sig, Sig)) = (Sig, Sig, Sig) 
type MidiInstrOut (D -> SE (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) 
type MidiInstrOut (D -> SE Sig) = Sig 
type MidiInstrOut (Msg -> SE (Sig, Sig)) = (Sig, Sig) 
type MidiInstrOut (Msg -> SE (Sig, Sig, Sig)) = (Sig, Sig, Sig) 
type MidiInstrOut (Msg -> SE (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) 
type MidiInstrOut (Msg -> SE Sig) = Sig 

data SERef a :: * -> *

It describes a reference to mutable values.

writeSERef :: Tuple a => SERef a -> a -> SE ()

readSERef :: Tuple a => SERef a -> SE a

modifySERef :: Tuple a => SERef a -> (a -> a) -> SE ()

Modifies the SERef value with given function.

mixSERef :: (Num a, Tuple a) => SERef a -> a -> SE ()

Adds the given signal to the value that is contained in the reference.

newSERef :: Tuple a => a -> SE (SERef a)

Allocates a new local (it is visible within the instrument) mutable value and initializes it with value. A reference can contain a tuple of variables.

sensorsSE :: Tuple a => a -> SE (SE a, a -> SE ())

An alias for the function newSERef. It returns not the reference to mutable value but a pair of reader and writer functions.

newGlobalSERef :: Tuple a => a -> SE (SERef a)

Allocates a new global mutable value and initializes it with value. A reference can contain a tuple of variables.

globalSensorsSE :: Tuple a => a -> SE (SE a, a -> SE ())

An alias for the function newSERef. It returns not the reference to mutable value but a pair of reader and writer functions.