csound-expression-4.9.0: library to make electronic music

Safe HaskellNone
LanguageHaskell98

Csound.Types

Contents

Description

The Csound types.

There are several primitive types:

  • Sig - signals
  • D - numbers
  • Str - strings
  • Tab - 1-dimensional arrays
  • Spec and Wspec - sound spectrums

A signal is a stream of numbers. Signals carry sound or time varied control values. Numbers are constants. 1-dimensional arrays contain some useful data which is calculated at the initial run of the program.

There is only one compound type. It's a tuple of Csound values. The empty tuple is signified with special type called Unit.

Synopsis

Primitive types

data Sig :: *

Signals

Instances

Floating Sig 
Fractional Sig 
Num Sig 
IfB Sig 
EqB Sig 
OrdB Sig 
Monoid Sig 
IsPrim Sig 
Tuple Sig 
Sigs Sig2 
Sigs Sig4 
Sigs Sig6 
Sigs Sig8 
Sigs Sig 
Val Sig 
SigOrD Sig 
Default Sig 
AmpInstr Sig Source 
Outs Sig Source 
BindSig Sig Source 
SigSpace Sig Source 
RenderCsd Sig2 Source 
RenderCsd Sig4 Source 
RenderCsd Sig6 Source 
RenderCsd Sig8 Source 
RenderCsd Sig Source 
FxUI FxFun Source 
At Sig2 Sig2 Sig2 Source 
At Sig2 Sig2 Sig Source 
At Sig Sig2 Sig2 Source 
At Sig Sig2 Sig Source 
SigSpace a => At Sig Sig a Source 
At Sig2 Sig2 (SE Sig2) Source 
At Sig2 Sig2 (SE Sig) Source 
At Sig Sig2 (SE Sig2) Source 
At Sig Sig2 (SE Sig) Source 
At Sig2 (SE Sig2) Sig2 Source 
At Sig2 (SE Sig2) Sig Source 
At Sig (SE Sig) Sig2 Source 
At Sig (SE Sig) Sig3 Source 
At Sig (SE Sig) Sig4 Source 
At Sig (SE Sig) Sig Source 
At Sig2 (SE Sig2) (SE Sig2) Source 
At Sig2 (SE Sig2) (SE Sig) Source 
At Sig (SE Sig) (SE Sig2) Source 
At Sig (SE Sig) (SE Sig3) Source 
At Sig (SE Sig) (SE Sig4) Source 
At Sig (SE Sig) (SE Sig) Source 
AmpInstr (SE (Sig, Sig)) Source 
AmpInstr (SE Sig) Source 
Outs (SE (Sig, Sig)) Source 
Outs (SE (Sig, Sig, Sig, Sig)) Source 
Outs (SE Sig) Source 
BindSig (SE (Sig, Sig)) Source 
BindSig (SE (Sig, Sig, Sig)) Source 
BindSig (SE (Sig, Sig, Sig, Sig)) Source 
BindSig (SE Sig) Source 
SigSpace (SE (Sig, Sig)) Source 
SigSpace (SE (Sig, Sig, Sig)) Source 
SigSpace (SE (Sig, Sig, Sig, Sig)) Source 
SigSpace (SE Sig) Source 
RenderCsd (Source Sig2) Source 
RenderCsd (Source Sig4) Source 
RenderCsd (Source Sig) Source 
RenderCsd (Source (SE Sig2)) Source 
RenderCsd (Source (SE Sig4)) Source 
RenderCsd (Source (SE Sig)) Source 
RenderCsd (SE (Sig8, Sig8)) Source 
RenderCsd (SE (Sig8, Sig8, Sig8, Sig8)) Source 
RenderCsd (SE Sig2) Source 
RenderCsd (SE Sig4) Source 
RenderCsd (SE Sig6) Source 
RenderCsd (SE Sig8) Source 
RenderCsd (SE Sig) Source 
Sigs (Sig8, Sig8) 
CpsInstr ((Sig, Sig) -> (Sig, Sig)) Source 
CpsInstr ((Sig, Sig) -> Sig) Source 
CpsInstr ((Sig, Sig) -> SE (Sig, Sig)) Source 
CpsInstr ((Sig, Sig) -> SE Sig) Source 
CpsInstr ((Sig, D) -> (Sig, Sig)) Source 
CpsInstr ((Sig, D) -> Sig) Source 
CpsInstr ((Sig, D) -> SE (Sig, Sig)) Source 
CpsInstr ((Sig, D) -> SE Sig) Source 
CpsInstr ((D, Sig) -> (Sig, Sig)) Source 
CpsInstr ((D, Sig) -> Sig) Source 
CpsInstr ((D, Sig) -> SE (Sig, Sig)) Source 
CpsInstr ((D, Sig) -> SE Sig) Source 
CpsInstr ((D, D) -> (Sig, Sig)) Source 
CpsInstr ((D, D) -> Sig) Source 
CpsInstr ((D, D) -> SE (Sig, Sig)) Source 
CpsInstr ((D, D) -> SE Sig) Source 
CpsInstr (Sig -> (Sig, Sig)) Source 
CpsInstr (Sig -> Sig) Source 
CpsInstr (Sig -> SE (Sig, Sig)) Source 
CpsInstr (Sig -> SE Sig) Source 
CpsInstr (D -> (Sig, Sig)) Source 
CpsInstr (D -> Sig) Source 
CpsInstr (D -> SE (Sig, Sig)) Source 
CpsInstr (D -> SE Sig) Source 
AmpInstr (Sig -> (Sig, Sig)) Source 
AmpInstr (Sig -> Sig) Source 
AmpInstr (Sig -> SE (Sig, Sig)) Source 
AmpInstr (Sig -> SE Sig) Source 
AmpInstr (D -> (Sig, Sig)) Source 
AmpInstr (D -> Sig) Source 
AmpInstr (D -> SE (Sig, Sig)) Source 
AmpInstr (D -> SE Sig) Source 
AmpInstr (Sig, Sig) Source 
MidiInstr ((Sig, Sig) -> (Sig, Sig)) Source 
MidiInstr ((Sig, Sig) -> (Sig, Sig, Sig)) Source 
MidiInstr ((Sig, Sig) -> (Sig, Sig, Sig, Sig)) Source 
MidiInstr ((Sig, Sig) -> Sig) Source 
MidiInstr ((Sig, Sig) -> SE (Sig, Sig)) Source 
MidiInstr ((Sig, Sig) -> SE (Sig, Sig, Sig)) Source 
MidiInstr ((Sig, Sig) -> SE (Sig, Sig, Sig, Sig)) Source 
MidiInstr ((Sig, Sig) -> SE Sig) Source 
MidiInstr ((Sig, D) -> (Sig, Sig)) Source 
MidiInstr ((Sig, D) -> (Sig, Sig, Sig)) Source 
MidiInstr ((Sig, D) -> (Sig, Sig, Sig, Sig)) Source 
MidiInstr ((Sig, D) -> Sig) Source 
MidiInstr ((Sig, D) -> SE (Sig, Sig)) Source 
MidiInstr ((Sig, D) -> SE (Sig, Sig, Sig)) Source 
MidiInstr ((Sig, D) -> SE (Sig, Sig, Sig, Sig)) Source 
MidiInstr ((Sig, D) -> SE Sig) Source 
MidiInstr ((D, Sig) -> (Sig, Sig)) Source 
MidiInstr ((D, Sig) -> (Sig, Sig, Sig)) Source 
MidiInstr ((D, Sig) -> (Sig, Sig, Sig, Sig)) Source 
MidiInstr ((D, Sig) -> Sig) Source 
MidiInstr ((D, Sig) -> SE (Sig, Sig)) Source 
MidiInstr ((D, Sig) -> SE (Sig, Sig, Sig)) Source 
MidiInstr ((D, Sig) -> SE (Sig, Sig, Sig, Sig)) Source 
MidiInstr ((D, Sig) -> SE Sig) Source 
MidiInstr ((D, D) -> (Sig, Sig)) Source 
MidiInstr ((D, D) -> (Sig, Sig, Sig)) Source 
MidiInstr ((D, D) -> (Sig, Sig, Sig, Sig)) Source 
MidiInstr ((D, D) -> Sig) Source 
MidiInstr ((D, D) -> SE (Sig, Sig)) Source 
MidiInstr ((D, D) -> SE (Sig, Sig, Sig)) Source 
MidiInstr ((D, D) -> SE (Sig, Sig, Sig, Sig)) Source 
MidiInstr ((D, D) -> SE Sig) Source 
MidiInstr (Sig -> (Sig, Sig)) Source 
MidiInstr (Sig -> (Sig, Sig, Sig)) Source 
MidiInstr (Sig -> (Sig, Sig, Sig, Sig)) Source 
MidiInstr (Sig -> Sig) Source 
MidiInstr (Sig -> SE (Sig, Sig)) Source 
MidiInstr (Sig -> SE (Sig, Sig, Sig)) Source 
MidiInstr (Sig -> SE (Sig, Sig, Sig, Sig)) Source 
MidiInstr (Sig -> SE Sig) Source 
MidiInstr (D -> (Sig, Sig)) Source 
MidiInstr (D -> (Sig, Sig, Sig)) Source 
MidiInstr (D -> (Sig, Sig, Sig, Sig)) Source 
MidiInstr (D -> Sig) Source 
MidiInstr (D -> SE (Sig, Sig)) Source 
MidiInstr (D -> SE (Sig, Sig, Sig)) Source 
MidiInstr (D -> SE (Sig, Sig, Sig, Sig)) Source 
MidiInstr (D -> SE Sig) Source 
MidiInstr (Msg -> (Sig, Sig)) Source 
MidiInstr (Msg -> (Sig, Sig, Sig)) Source 
MidiInstr (Msg -> (Sig, Sig, Sig, Sig)) Source 
MidiInstr (Msg -> Sig) Source 
MidiInstr (Msg -> SE (Sig, Sig)) Source 
MidiInstr (Msg -> SE (Sig, Sig, Sig)) Source 
MidiInstr (Msg -> SE (Sig, Sig, Sig, Sig)) Source 
MidiInstr (Msg -> SE Sig) Source 
Outs (Sig, Sig) Source 
BindSig (Sig, Sig) Source 
SigSpace (Sig, Sig) Source 
Sigs a => RenderCsd (a -> (Sig8, Sig8, Sig8, Sig8)) Source 
Sigs a => RenderCsd (a -> (Sig8, Sig8)) Source 
Sigs a => RenderCsd (a -> Sig8) Source 
Sigs a => RenderCsd (a -> Sig6) Source 
Sigs a => RenderCsd (a -> Sig4) Source 
Sigs a => RenderCsd (a -> Sig2) Source 
Sigs a => RenderCsd (a -> Sig) Source 
RenderCsd (Sig8, Sig8) Source 
HumanizeValueTime ([D] -> D -> Sig) Source 
HumanizeValueTime ([D] -> Sig) Source 
HumanizeValueTime ([Seq] -> Sig -> Sig) Source 
HumanizeTime ([D] -> D -> Sig) Source 
HumanizeTime ([D] -> Sig) Source 
HumanizeTime ([Seq] -> Sig -> Sig) Source 
HumanizeValue ([Sig] -> Sig -> Sig) Source 
HumanizeValue ([D] -> D -> Sig) Source 
HumanizeValue ([D] -> Sig) Source 
HumanizeValue ([Seq] -> Sig -> Sig) Source 
FxUI (Sig2 -> Sig2) Source 
FxUI a => FxUI (Sig -> a) Source 
BindSig (Sig, Sig, Sig) Source 
SigSpace (Sig, Sig, Sig) Source 
Sigs (Sig8, Sig8, Sig8, Sig8) 
Outs (Sig, Sig, Sig, Sig) Source 
BindSig (Sig, Sig, Sig, Sig) Source 
SigSpace (Sig, Sig, Sig, Sig) Source 
RenderCsd (Sig8, Sig8, Sig8, Sig8) Source 
type BooleanOf Sig = BoolSig 
type PrimOf Sig = Double 
type Snap Sig = D 
type AmpInstrOut Sig = Sig Source 
type SigOuts Sig = Sig Source 
type AtOut Sig2 Sig2 Sig2 = Sig2 Source 
type AtOut Sig2 Sig2 Sig = Sig2 Source 
type AtOut Sig Sig2 Sig2 = Sig2 Source 
type AtOut Sig Sig2 Sig = Sig2 Source 
type AtOut Sig Sig a = a Source 
type AtOut Sig2 Sig2 (Source a) = Source (AtOut Sig2 Sig2 a) Source 
type AtOut Sig2 Sig2 (SE Sig2) = SE Sig2 Source 
type AtOut Sig2 Sig2 (SE Sig) = SE Sig2 Source 
type AtOut Sig Sig2 (SE Sig2) = SE Sig2 Source 
type AtOut Sig Sig2 (SE Sig) = SE Sig2 Source 
type AtOut Sig2 (SE Sig2) Sig2 = SE Sig2 Source 
type AtOut Sig2 (SE Sig2) Sig = SE Sig2 Source 
type AtOut Sig (SE Sig) Sig2 = SE Sig2 Source 
type AtOut Sig (SE Sig) Sig3 = SE Sig3 Source 
type AtOut Sig (SE Sig) Sig4 = SE Sig4 Source 
type AtOut Sig (SE Sig) Sig = SE Sig Source 
type AtOut Sig2 (SE Sig2) (Source a) = Source (AtOut Sig2 (SE Sig2) a) Source 
type AtOut Sig2 (SE Sig2) (SE Sig2) = SE Sig2 Source 
type AtOut Sig2 (SE Sig2) (SE Sig) = SE Sig2 Source 
type AtOut Sig (SE Sig) (Source a) = Source (AtOut Sig (SE Sig) a) Source 
type AtOut Sig (SE Sig) (SE Sig2) = SE Sig2 Source 
type AtOut Sig (SE Sig) (SE Sig3) = SE Sig3 Source 
type AtOut Sig (SE Sig) (SE Sig4) = SE Sig4 Source 
type AtOut Sig (SE Sig) (SE Sig) = SE Sig Source 
type AmpInstrOut (SE (Sig, Sig)) = (Sig, Sig) Source 
type AmpInstrOut (SE Sig) = Sig Source 
type SigOuts (SE (Sig, Sig)) = (Sig, Sig) Source 
type SigOuts (SE (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) Source 
type SigOuts (SE Sig) = Sig Source 
type CpsInstrOut ((Sig, Sig) -> (Sig, Sig)) = (Sig, Sig) Source 
type CpsInstrOut ((Sig, Sig) -> Sig) = Sig Source 
type CpsInstrOut ((Sig, Sig) -> SE (Sig, Sig)) = (Sig, Sig) Source 
type CpsInstrOut ((Sig, Sig) -> SE Sig) = Sig Source 
type CpsInstrOut ((Sig, D) -> (Sig, Sig)) = (Sig, Sig) Source 
type CpsInstrOut ((Sig, D) -> Sig) = Sig Source 
type CpsInstrOut ((Sig, D) -> SE (Sig, Sig)) = (Sig, Sig) Source 
type CpsInstrOut ((Sig, D) -> SE Sig) = Sig Source 
type CpsInstrOut ((D, Sig) -> (Sig, Sig)) = (Sig, Sig) Source 
type CpsInstrOut ((D, Sig) -> Sig) = Sig Source 
type CpsInstrOut ((D, Sig) -> SE (Sig, Sig)) = (Sig, Sig) Source 
type CpsInstrOut ((D, Sig) -> SE Sig) = Sig Source 
type CpsInstrOut ((D, D) -> (Sig, Sig)) = (Sig, Sig) Source 
type CpsInstrOut ((D, D) -> Sig) = Sig Source 
type CpsInstrOut ((D, D) -> SE (Sig, Sig)) = (Sig, Sig) Source 
type CpsInstrOut ((D, D) -> SE Sig) = Sig Source 
type CpsInstrOut (Sig -> (Sig, Sig)) = (Sig, Sig) Source 
type CpsInstrOut (Sig -> Sig) = Sig Source 
type CpsInstrOut (Sig -> SE (Sig, Sig)) = (Sig, Sig) Source 
type CpsInstrOut (Sig -> SE Sig) = Sig Source 
type CpsInstrOut (D -> (Sig, Sig)) = (Sig, Sig) Source 
type CpsInstrOut (D -> Sig) = Sig Source 
type CpsInstrOut (D -> SE (Sig, Sig)) = (Sig, Sig) Source 
type CpsInstrOut (D -> SE Sig) = Sig Source 
type AmpInstrOut (Sig -> (Sig, Sig)) = (Sig, Sig) Source 
type AmpInstrOut (Sig -> Sig) = Sig Source 
type AmpInstrOut (Sig -> SE (Sig, Sig)) = (Sig, Sig) Source 
type AmpInstrOut (Sig -> SE Sig) = Sig Source 
type AmpInstrOut (D -> (Sig, Sig)) = (Sig, Sig) Source 
type AmpInstrOut (D -> Sig) = Sig Source 
type AmpInstrOut (D -> SE (Sig, Sig)) = (Sig, Sig) Source 
type AmpInstrOut (D -> SE Sig) = Sig Source 
type AmpInstrOut (Sig, Sig) = (Sig, Sig) Source 
type MidiInstrOut ((Sig, Sig) -> (Sig, Sig)) = (Sig, Sig) Source 
type MidiInstrOut ((Sig, Sig) -> (Sig, Sig, Sig)) = (Sig, Sig, Sig) Source 
type MidiInstrOut ((Sig, Sig) -> (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) Source 
type MidiInstrOut ((Sig, Sig) -> Sig) = Sig Source 
type MidiInstrOut ((Sig, Sig) -> SE (Sig, Sig)) = (Sig, Sig) Source 
type MidiInstrOut ((Sig, Sig) -> SE (Sig, Sig, Sig)) = (Sig, Sig, Sig) Source 
type MidiInstrOut ((Sig, Sig) -> SE (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) Source 
type MidiInstrOut ((Sig, Sig) -> SE Sig) = Sig Source 
type MidiInstrOut ((Sig, D) -> (Sig, Sig)) = (Sig, Sig) Source 
type MidiInstrOut ((Sig, D) -> (Sig, Sig, Sig)) = (Sig, Sig, Sig) Source 
type MidiInstrOut ((Sig, D) -> (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) Source 
type MidiInstrOut ((Sig, D) -> Sig) = Sig Source 
type MidiInstrOut ((Sig, D) -> SE (Sig, Sig)) = (Sig, Sig) Source 
type MidiInstrOut ((Sig, D) -> SE (Sig, Sig, Sig)) = (Sig, Sig, Sig) Source 
type MidiInstrOut ((Sig, D) -> SE (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) Source 
type MidiInstrOut ((Sig, D) -> SE Sig) = Sig Source 
type MidiInstrOut ((D, Sig) -> (Sig, Sig)) = (Sig, Sig) Source 
type MidiInstrOut ((D, Sig) -> (Sig, Sig, Sig)) = (Sig, Sig, Sig) Source 
type MidiInstrOut ((D, Sig) -> (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) Source 
type MidiInstrOut ((D, Sig) -> Sig) = Sig Source 
type MidiInstrOut ((D, Sig) -> SE (Sig, Sig)) = (Sig, Sig) Source 
type MidiInstrOut ((D, Sig) -> SE (Sig, Sig, Sig)) = (Sig, Sig, Sig) Source 
type MidiInstrOut ((D, Sig) -> SE (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) Source 
type MidiInstrOut ((D, Sig) -> SE Sig) = Sig Source 
type MidiInstrOut ((D, D) -> (Sig, Sig)) = (Sig, Sig) Source 
type MidiInstrOut ((D, D) -> (Sig, Sig, Sig)) = (Sig, Sig, Sig) Source 
type MidiInstrOut ((D, D) -> (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) Source 
type MidiInstrOut ((D, D) -> Sig) = Sig Source 
type MidiInstrOut ((D, D) -> SE (Sig, Sig)) = (Sig, Sig) Source 
type MidiInstrOut ((D, D) -> SE (Sig, Sig, Sig)) = (Sig, Sig, Sig) Source 
type MidiInstrOut ((D, D) -> SE (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) Source 
type MidiInstrOut ((D, D) -> SE Sig) = Sig Source 
type MidiInstrOut (Sig -> (Sig, Sig)) = (Sig, Sig) Source 
type MidiInstrOut (Sig -> (Sig, Sig, Sig)) = (Sig, Sig, Sig) Source 
type MidiInstrOut (Sig -> (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) Source 
type MidiInstrOut (Sig -> Sig) = Sig Source 
type MidiInstrOut (Sig -> SE (Sig, Sig)) = (Sig, Sig) Source 
type MidiInstrOut (Sig -> SE (Sig, Sig, Sig)) = (Sig, Sig, Sig) Source 
type MidiInstrOut (Sig -> SE (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) Source 
type MidiInstrOut (Sig -> SE Sig) = Sig Source 
type MidiInstrOut (D -> (Sig, Sig)) = (Sig, Sig) Source 
type MidiInstrOut (D -> (Sig, Sig, Sig)) = (Sig, Sig, Sig) Source 
type MidiInstrOut (D -> (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) Source 
type MidiInstrOut (D -> Sig) = Sig Source 
type MidiInstrOut (D -> SE (Sig, Sig)) = (Sig, Sig) Source 
type MidiInstrOut (D -> SE (Sig, Sig, Sig)) = (Sig, Sig, Sig) Source 
type MidiInstrOut (D -> SE (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) Source 
type MidiInstrOut (D -> SE Sig) = Sig Source 
type MidiInstrOut (Msg -> (Sig, Sig)) = (Sig, Sig) Source 
type MidiInstrOut (Msg -> (Sig, Sig, Sig)) = (Sig, Sig, Sig) Source 
type MidiInstrOut (Msg -> (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) Source 
type MidiInstrOut (Msg -> Sig) = Sig Source 
type MidiInstrOut (Msg -> SE (Sig, Sig)) = (Sig, Sig) Source 
type MidiInstrOut (Msg -> SE (Sig, Sig, Sig)) = (Sig, Sig, Sig) Source 
type MidiInstrOut (Msg -> SE (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) Source 
type MidiInstrOut (Msg -> SE Sig) = Sig Source 
type SigOuts (Sig, Sig) = (Sig, Sig) Source 
type HumanizeValueTimeOut ([D] -> D -> Sig) = [D] -> D -> SE Sig Source 
type HumanizeValueTimeOut ([D] -> Sig) = [D] -> SE Sig Source 
type HumanizeValueTimeOut ([Seq] -> Sig -> Sig) = [Seq] -> Sig -> SE Sig Source 
type HumanizeTimeOut ([D] -> D -> Sig) = [D] -> D -> SE Sig Source 
type HumanizeTimeOut ([D] -> Sig) = [D] -> SE Sig Source 
type HumanizeTimeOut ([Seq] -> Sig -> Sig) = [Seq] -> Sig -> SE Sig Source 
type HumanizeValueOut ([Sig] -> Sig -> Sig) = [Sig] -> Sig -> SE Sig Source 
type HumanizeValueOut ([D] -> D -> Sig) = [D] -> D -> SE Sig Source 
type HumanizeValueOut ([D] -> Sig) = [D] -> SE Sig Source 
type HumanizeValueOut ([Seq] -> Sig -> Sig) = [Seq] -> Sig -> SE Sig Source 
type SigOuts (Sig, Sig, Sig, Sig) = (Sig, Sig, Sig, Sig) Source 

data D :: *

Constant numbers

Instances

Floating D 
Fractional D 
Num D 
IfB D 
EqB D 
OrdB D 
Monoid D 
IsPrim D 
Tuple D 
Arg D 
Val D 
SigOrD D 
Default D 
CpsInstr ((Sig, D) -> (Sig, Sig)) Source 
CpsInstr ((Sig, D) -> Sig) Source 
CpsInstr ((Sig, D) -> SE (Sig, Sig)) Source 
CpsInstr ((Sig, D) -> SE Sig) Source 
CpsInstr ((D, Sig) -> (Sig, Sig)) Source 
CpsInstr ((D, Sig) -> Sig) Source 
CpsInstr ((D, Sig) -> SE (Sig, Sig)) Source 
CpsInstr ((D, Sig) -> SE Sig) Source 
CpsInstr ((D, D) -> (Sig, Sig)) Source 
CpsInstr ((D, D) -> Sig) Source 
CpsInstr ((D, D) -> SE (Sig, Sig)) Source 
CpsInstr ((D, D) -> SE Sig) Source 
CpsInstr (D -> (Sig, Sig)) Source 
CpsInstr (D -> Sig) Source 
CpsInstr (D -> SE (Sig, Sig)) Source 
CpsInstr (D -> SE Sig) Source 
AmpInstr (D -> (Sig, Sig)) Source 
AmpInstr (D -> Sig) Source 
AmpInstr (D -> SE (Sig, Sig)) Source 
AmpInstr (D -> SE Sig) Source 
MidiInstr ((Sig, D) -> (Sig, Sig)) Source 
MidiInstr ((Sig, D) -> (Sig, Sig, Sig)) Source 
MidiInstr ((Sig, D) -> (Sig, Sig, Sig, Sig)) Source 
MidiInstr ((Sig, D) -> Sig) Source 
MidiInstr ((Sig, D) -> SE (Sig, Sig)) Source 
MidiInstr ((Sig, D) -> SE (Sig, Sig, Sig)) Source 
MidiInstr ((Sig, D) -> SE (Sig, Sig, Sig, Sig)) Source 
MidiInstr ((Sig, D) -> SE Sig) Source 
MidiInstr ((D, Sig) -> (Sig, Sig)) Source 
MidiInstr ((D, Sig) -> (Sig, Sig, Sig)) Source 
MidiInstr ((D, Sig) -> (Sig, Sig, Sig, Sig)) Source 
MidiInstr ((D, Sig) -> Sig) Source 
MidiInstr ((D, Sig) -> SE (Sig, Sig)) Source 
MidiInstr ((D, Sig) -> SE (Sig, Sig, Sig)) Source 
MidiInstr ((D, Sig) -> SE (Sig, Sig, Sig, Sig)) Source 
MidiInstr ((D, Sig) -> SE Sig) Source 
MidiInstr ((D, D) -> (Sig, Sig)) Source 
MidiInstr ((D, D) -> (Sig, Sig, Sig)) Source 
MidiInstr ((D, D) -> (Sig, Sig, Sig, Sig)) Source 
MidiInstr ((D, D) -> Sig) Source 
MidiInstr ((D, D) -> SE (Sig, Sig)) Source 
MidiInstr ((D, D) -> SE (Sig, Sig, Sig)) Source 
MidiInstr ((D, D) -> SE (Sig, Sig, Sig, Sig)) Source 
MidiInstr ((D, D) -> SE Sig) Source 
MidiInstr (D -> (Sig, Sig)) Source 
MidiInstr (D -> (Sig, Sig, Sig)) Source 
MidiInstr (D -> (Sig, Sig, Sig, Sig)) Source 
MidiInstr (D -> Sig) Source 
MidiInstr (D -> SE (Sig, Sig)) Source 
MidiInstr (D -> SE (Sig, Sig, Sig)) Source 
MidiInstr (D -> SE (Sig, Sig, Sig, Sig)) Source 
MidiInstr (D -> SE Sig) Source 
HumanizeValueTime ([D] -> D -> Sig) Source 
HumanizeValueTime ([D] -> Sig) Source 
HumanizeTime ([D] -> D -> Sig) Source 
HumanizeTime ([D] -> Sig) Source 
HumanizeValue ([D] -> D -> Sig) Source 
HumanizeValue ([D] -> Sig) Source 
type BooleanOf D = BoolD 
type PrimOf D = Double 
type Snap D = D 
type CpsInstrOut ((Sig, D) -> (Sig, Sig)) = (Sig, Sig) Source 
type CpsInstrOut ((Sig, D) -> Sig) = Sig Source 
type CpsInstrOut ((Sig, D) -> SE (Sig, Sig)) = (Sig, Sig) Source 
type CpsInstrOut ((Sig, D) -> SE Sig) = Sig Source 
type CpsInstrOut ((D, Sig) -> (Sig, Sig)) = (Sig, Sig) Source 
type CpsInstrOut ((D, Sig) -> Sig) = Sig Source 
type CpsInstrOut ((D, Sig) -> SE (Sig, Sig)) = (Sig, Sig) Source 
type CpsInstrOut ((D, Sig) -> SE Sig) = Sig Source 
type CpsInstrOut ((D, D) -> (Sig, Sig)) = (Sig, Sig) Source 
type CpsInstrOut ((D, D) -> Sig) = Sig Source 
type CpsInstrOut ((D, D) -> SE (Sig, Sig)) = (Sig, Sig) Source 
type CpsInstrOut ((D, D) -> SE Sig) = Sig Source 
type CpsInstrOut (D -> (Sig, Sig)) = (Sig, Sig) Source 
type CpsInstrOut (D -> Sig) = Sig Source 
type CpsInstrOut (D -> SE (Sig, Sig)) = (Sig, Sig) Source 
type CpsInstrOut (D -> SE Sig) = Sig Source 
type AmpInstrOut (D -> (Sig, Sig)) = (Sig, Sig) Source 
type AmpInstrOut (D -> Sig) = Sig Source 
type AmpInstrOut (D -> SE (Sig, Sig)) = (Sig, Sig) Source 
type AmpInstrOut (D -> SE Sig) = Sig Source 
type MidiInstrOut ((Sig, D) -> (Sig, Sig)) = (Sig, Sig) Source 
type MidiInstrOut ((Sig, D) -> (Sig, Sig, Sig)) = (Sig, Sig, Sig) Source 
type MidiInstrOut ((Sig, D) -> (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) Source 
type MidiInstrOut ((Sig, D) -> Sig) = Sig Source 
type MidiInstrOut ((Sig, D) -> SE (Sig, Sig)) = (Sig, Sig) Source 
type MidiInstrOut ((Sig, D) -> SE (Sig, Sig, Sig)) = (Sig, Sig, Sig) Source 
type MidiInstrOut ((Sig, D) -> SE (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) Source 
type MidiInstrOut ((Sig, D) -> SE Sig) = Sig Source 
type MidiInstrOut ((D, Sig) -> (Sig, Sig)) = (Sig, Sig) Source 
type MidiInstrOut ((D, Sig) -> (Sig, Sig, Sig)) = (Sig, Sig, Sig) Source 
type MidiInstrOut ((D, Sig) -> (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) Source 
type MidiInstrOut ((D, Sig) -> Sig) = Sig Source 
type MidiInstrOut ((D, Sig) -> SE (Sig, Sig)) = (Sig, Sig) Source 
type MidiInstrOut ((D, Sig) -> SE (Sig, Sig, Sig)) = (Sig, Sig, Sig) Source 
type MidiInstrOut ((D, Sig) -> SE (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) Source 
type MidiInstrOut ((D, Sig) -> SE Sig) = Sig Source 
type MidiInstrOut ((D, D) -> (Sig, Sig)) = (Sig, Sig) Source 
type MidiInstrOut ((D, D) -> (Sig, Sig, Sig)) = (Sig, Sig, Sig) Source 
type MidiInstrOut ((D, D) -> (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) Source 
type MidiInstrOut ((D, D) -> Sig) = Sig Source 
type MidiInstrOut ((D, D) -> SE (Sig, Sig)) = (Sig, Sig) Source 
type MidiInstrOut ((D, D) -> SE (Sig, Sig, Sig)) = (Sig, Sig, Sig) Source 
type MidiInstrOut ((D, D) -> SE (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) Source 
type MidiInstrOut ((D, D) -> SE Sig) = Sig Source 
type MidiInstrOut (D -> (Sig, Sig)) = (Sig, Sig) Source 
type MidiInstrOut (D -> (Sig, Sig, Sig)) = (Sig, Sig, Sig) Source 
type MidiInstrOut (D -> (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) Source 
type MidiInstrOut (D -> Sig) = Sig Source 
type MidiInstrOut (D -> SE (Sig, Sig)) = (Sig, Sig) Source 
type MidiInstrOut (D -> SE (Sig, Sig, Sig)) = (Sig, Sig, Sig) Source 
type MidiInstrOut (D -> SE (Sig, Sig, Sig, Sig)) = (Sig, Sig, Sig, Sig) Source 
type MidiInstrOut (D -> SE Sig) = Sig Source 
type HumanizeValueTimeOut ([D] -> D -> Sig) = [D] -> D -> SE Sig Source 
type HumanizeValueTimeOut ([D] -> Sig) = [D] -> SE Sig Source 
type HumanizeTimeOut ([D] -> D -> Sig) = [D] -> D -> SE Sig Source 
type HumanizeTimeOut ([D] -> Sig) = [D] -> SE Sig Source 
type HumanizeValueOut ([D] -> D -> Sig) = [D] -> D -> SE Sig Source 
type HumanizeValueOut ([D] -> Sig) = [D] -> SE Sig Source 

data Tab :: *

Tables (or arrays)

Instances

data Str :: *

Strings

Instances

data Spec :: *

Spectrum. It's fsig in the Csound.

data Wspec :: *

Another type for spectrum. It's wsig in the Csound.

Instances

data BoolSig :: *

A signal of booleans.

Instances

Boolean BoolSig 
IsPrim BoolSig 
Val BoolSig 
type PrimOf BoolSig = Bool 

data BoolD :: *

A constant boolean value.

Instances

Boolean BoolD 
IsPrim BoolD 
Val BoolD 
type PrimOf BoolD = Bool 

class Val a where

Contains all Csound values.

Minimal complete definition

fromGE, toGE

Methods

fromGE :: GE E -> a

toGE :: a -> GE E

fromE :: E -> a

class (IsPrim a, RealFrac (PrimOf a), Val a) => SigOrD a

Instances

type Sig2 = (Sig, Sig)

type Sig3 = (Sig, Sig, Sig)

type Sig4 = (Sig, Sig, Sig, Sig)

type Sig5 = (Sig, Sig, Sig, Sig, Sig)

type Sig6 = (Sig, Sig, Sig, Sig, Sig, Sig)

type Sig8 = (Sig, Sig, Sig, Sig, Sig, Sig, Sig, Sig)

Constructors

double :: Double -> D

Constructs a number.

int :: Int -> D

Constructs an integer.

text :: String -> Str

Constructs a string.

Constants

idur :: D

Querries a total duration of the note. It's equivallent to Csound's p3 field.

Converters

ar :: Sig -> Sig

Sets a rate of the signal to audio rate.

kr :: Sig -> Sig

Sets a rate of the signal to control rate.

ir :: Sig -> D

Converts a signal to the number (initial value of the signal).

sig :: D -> Sig

Makes a constant signal from the number.

Init values

withInits :: (Tuple a, Tuple b) => a -> b -> a

Appends initialisation arguments. It's up to user to supply arguments with the right types. For example:

oscil 0.5 440 sinWave `withInits` (0.5 :: D)

withDs :: Tuple a => a -> [D] -> a

A special case of withInits. Here all inits are numbers.

withSigs :: Tuple a => a -> [Sig] -> a

A special case of withInits. Here all inits are signals.

withTabs :: Tuple a => a -> [Tab] -> a

A special case of withInits. Here all inits are arrays.

withD :: Tuple a => a -> D -> a

Appends an init value which is a number.

withSig :: Tuple a => a -> Sig -> a

Appends an init value which is a signal.

withTab :: Tuple a => a -> Tab -> a

Appends an init value which is a table.

withSeed :: SE Sig -> D -> Sig

Applies a seed to the random value. It's equivalent to the withD but it has a special meaning of canceling the side effect. When random opcode is provided with seed value it's no longer contains a side effect so we don't need to restrict it.

Numeric functions

quot' :: SigOrD a => a -> a -> a

rem' :: SigOrD a => a -> a -> a

div' :: SigOrD a => a -> a -> a

mod' :: SigOrD a => a -> a -> a

ceil' :: SigOrD a => a -> a

floor' :: SigOrD a => a -> a

round' :: SigOrD a => a -> a

int' :: SigOrD a => a -> a

frac' :: SigOrD a => a -> a

Logic functions

boolSig :: BoolD -> BoolSig

Creates a constant boolean signal.

when1 :: BoolSig -> SE () -> SE ()

Invokes the given procedure if the boolean signal is true.

whens :: [(BoolSig, SE ())] -> SE () -> SE ()

The chain of when1s. Tests all the conditions in sequence if everything is false it invokes the procedure given in the second argument.

whileDo :: BoolSig -> SE () -> SE ()

untilDo :: BoolSig -> SE () -> SE ()

equalsTo :: EqB a => a -> a -> BooleanOf a infix 4

notEqualsTo :: EqB a => a -> a -> BooleanOf a infix 4

lessThan :: OrdB a => a -> a -> BooleanOf a infix 4

greaterThan :: OrdB a => a -> a -> BooleanOf a infix 4

lessThanEquals :: OrdB a => a -> a -> BooleanOf a infix 4

greaterThanEquals :: OrdB a => a -> a -> BooleanOf a infix 4

Aliases

Handy for functions that return tuples to specify the utput type

(aleft, aright) = ar2 $ diskin2 "file.wav" 1

or

asig = ar1 $ diskin2 "file.wav" 1    

ar1 :: Sig -> Sig

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

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

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

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

Tuples

class Tuple a where

A tuple of Csound values.

Instances

Tuple Sig 
Tuple D 
Tuple Str 
Tuple Spec 
Tuple Unit 
Tuple Tab 
(Tuple a, Tuple b) => Tuple (a, b) 
(Tuple a, Tuple b, Tuple c) => Tuple (a, b, c) 
(Tuple a, Tuple b, Tuple c, Tuple d) => Tuple (a, b, c, d) 
(Tuple a, Tuple b, Tuple c, Tuple d, Tuple e) => Tuple (a, b, c, d, e) 
(Tuple a, Tuple b, Tuple c, Tuple d, Tuple e, Tuple f) => Tuple (a, b, c, d, e, f) 
(Tuple a, Tuple b, Tuple c, Tuple d, Tuple e, Tuple f, Tuple g) => Tuple (a, b, c, d, e, f, g) 
(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) 

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

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

data Unit :: *

Csound's empty tuple.

unit :: Unit

Constructs Csound's empty tuple.

atTuple :: Tuple a => [a] -> Sig -> a Source

Gets an control/audio-rate value from the list by index.

Logic functions

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

ifB for tuples of csound values.

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

guardedB for tuples of csound values.

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

caseB for tuples of csound values.

Instruments

An instrument is a function that takes a tpule of csound values as an argument and returns a tuple of signals as an output. The type of the instrument is:

(Arg a, Out b) => a -> b

Arguments

class Tuple a => Arg a

Instances

Arg D 
Arg Str 
Arg Unit 
Arg Tab 
(Arg a, Arg b) => Arg (a, b) 
(Arg a, Arg b, Arg c) => Arg (a, b, c) 
(Arg a, Arg b, Arg c, Arg d) => Arg (a, b, c, d) 
(Arg a, Arg b, Arg c, Arg d, Arg e) => Arg (a, b, c, d, e) 
(Arg a, Arg b, Arg c, Arg d, Arg e, Arg f) => Arg (a, b, c, d, e, f) 
(Arg a, Arg b, Arg c, Arg d, Arg e, Arg f, Arg h) => Arg (a, b, c, d, e, f, h) 
(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) 

atArg :: (Tuple a, Arg a) => [a] -> D -> a Source

Gets an init-rate value from the list by index.

Logic functions

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

ifB for constants.

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

guardedB for constants.

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

caseB for constants.

Outputs

class (Tuple a, Num a) => Sigs a

The tuples of signals.