csound-expression-typed-0.2.0.1: typed core for the library csound-expression

Safe HaskellNone
LanguageHaskell2010

Csound.Typed.Types.Tuple

Contents

Synopsis

Tuple

class Tuple a where Source #

A tuple of Csound values.

Minimal complete definition

tupleMethods

Instances

Tuple TabList Source # 
Tuple Tab Source # 
Tuple Unit Source # 
Tuple Spec Source # 
Tuple Str Source # 
Tuple D Source # 
Tuple Sig Source # 
Tuple MonoArg Source # 
(Tuple a, Tuple b) => Tuple (a, b) Source # 
(Tuple a, Tuple b, Tuple c) => Tuple (a, b, c) Source # 

Methods

tupleMethods :: TupleMethods (a, b, c) Source #

(Tuple a, Tuple b, Tuple c, Tuple d) => Tuple (a, b, c, d) Source # 

Methods

tupleMethods :: TupleMethods (a, b, c, d) Source #

(Tuple a, Tuple b, Tuple c, Tuple d, Tuple e) => Tuple (a, b, c, d, e) Source # 

Methods

tupleMethods :: TupleMethods (a, b, c, d, e) Source #

(Tuple a, Tuple b, Tuple c, Tuple d, Tuple e, Tuple f) => Tuple (a, b, c, d, e, f) Source # 

Methods

tupleMethods :: TupleMethods (a, b, c, d, e, f) Source #

(Tuple a, Tuple b, Tuple c, Tuple d, Tuple e, Tuple f, Tuple g) => Tuple (a, b, c, d, e, f, g) Source # 

Methods

tupleMethods :: TupleMethods (a, b, c, d, e, f, g) Source #

(Tuple a, Tuple b, Tuple c, Tuple d, Tuple e, Tuple f, Tuple g, Tuple h) => Tuple (a, b, c, d, e, f, g, h) Source # 

Methods

tupleMethods :: TupleMethods (a, b, c, d, e, f, g, h) Source #

makeTupleMethods :: Tuple a => (a -> b) -> (b -> a) -> TupleMethods b Source #

Defines instance of type class Tuple for a new type in terms of an already defined one.

fromTuple :: Tuple a => a -> GE [E] Source #

toTuple :: Tuple a => GE [E] -> a Source #

tupleArity :: Tuple a => a -> Int Source #

tupleRates :: Tuple a => a -> [Rate] Source #

mapTuple :: Tuple a => (E -> E) -> a -> a Source #

Outs

class (Tuple a, Num a, Fractional a, SigSpace a, BindSig a) => Sigs a Source #

The tuples of signals.

Instances

Sigs Sig Source # 
(Sigs a1, Sigs a2) => Sigs (a1, a2) Source # 
(Sigs a1, Sigs a2, Sigs a3) => Sigs (a1, a2, a3) Source # 
(Sigs a1, Sigs a2, Sigs a3, Sigs a4) => Sigs (a1, a2, a3, a4) Source # 
(Sigs a1, Sigs a2, Sigs a3, Sigs a4, Sigs a5) => Sigs (a1, a2, a3, a4, a5) Source # 
(Sigs a1, Sigs a2, Sigs a3, Sigs a4, Sigs a5, Sigs a6) => Sigs (a1, a2, a3, a4, a5, a6) Source # 
(Sigs a1, Sigs a2, Sigs a3, Sigs a4, Sigs a5, Sigs a6, Sigs a7) => Sigs (a1, a2, a3, a4, a5, a6, a7) Source # 
(Sigs a1, Sigs a2, Sigs a3, Sigs a4, Sigs a5, Sigs a6, Sigs a7, Sigs a8) => Sigs (a1, a2, a3, a4, a5, a6, a7, a8) Source # 

outArity :: Tuple a => SE a -> Int Source #

Multiple outs

multiOuts :: Tuple a => E -> a Source #

ar2 :: (Sig, Sig) -> (Sig, Sig) Source #

ar4 :: (Sig, Sig, Sig, Sig) -> (Sig, Sig, Sig, Sig) Source #

ar6 :: (Sig, Sig, Sig, Sig, Sig, Sig) -> (Sig, Sig, Sig, Sig, Sig, Sig) Source #

ar8 :: (Sig, Sig, Sig, Sig, Sig, Sig, Sig, Sig) -> (Sig, Sig, Sig, Sig, Sig, Sig, Sig, Sig) Source #

Arguments

class Tuple a => Arg a Source #

Instances

Arg TabList Source # 
Arg Tab Source # 
Arg Unit Source # 
Arg Str Source # 
Arg D Source # 
(Arg a, Arg b) => Arg (a, b) Source # 
(Arg a, Arg b, Arg c) => Arg (a, b, c) Source # 
(Arg a, Arg b, Arg c, Arg d) => Arg (a, b, c, d) Source # 
(Arg a, Arg b, Arg c, Arg d, Arg e) => Arg (a, b, c, d, e) Source # 
(Arg a, Arg b, Arg c, Arg d, Arg e, Arg f) => Arg (a, b, c, d, e, f) Source # 
(Arg a, Arg b, Arg c, Arg d, Arg e, Arg f, Arg h) => Arg (a, b, c, d, e, f, h) Source # 
(Arg a, Arg b, Arg c, Arg d, Arg e, Arg f, Arg h, Arg g) => Arg (a, b, c, d, e, f, h, g) Source # 

arg :: Arg a => Int -> a Source #

toNote :: Arg a => a -> GE [E] Source #

argArity :: Arg a => a -> Int Source #

toArg :: Arg a => a Source #

Logic functions

ifTuple :: Tuple a => BoolSig -> a -> a -> a Source #

ifB for tuples of csound values.

guardedTuple :: Tuple b => [(BoolSig, b)] -> b -> b Source #

guardedB for tuples of csound values.

caseTuple :: Tuple b => a -> [(a -> BoolSig, b)] -> b -> b Source #

caseB for tuples of csound values.

ifArg :: (Arg a, Tuple a) => BoolD -> a -> a -> a Source #

ifB for constants.

guardedArg :: (Tuple b, Arg b) => [(BoolD, b)] -> b -> b Source #

guardedB for constants.

caseArg :: (Tuple b, Arg b) => a -> [(a -> BoolD, b)] -> b -> b Source #

caseB for constants.

Constructors

pureTuple :: Tuple a => GE (MultiOut [E]) -> a Source #

dirtyTuple :: Tuple a => GE (MultiOut [E]) -> SE a Source #