packages feed

csound-expression 0.0.3 → 0.1.0

raw patch · 14 files changed

+343/−84 lines, 14 filesdep +BooleanPVP ok

version bump matches the API change (PVP)

Dependencies added: Boolean

API changes (from Hackage documentation)

- CsoundExpr.Base.Arithmetic: (<*) :: (X a) => Irate -> a -> a
- CsoundExpr.Base.Imperative: instance (Assign a) => Assign [a]
- CsoundExpr.Base.SideEffect: instance (IM CsTree a) => IM CsTree (SideEffect a)
+ CsoundExpr.Base.Arithmetic: (<%>) :: (X a, X b, X (Opr2 a b)) => a -> b -> Opr2 a b
+ CsoundExpr.Base.Arithmetic: (<^>) :: (X a, X b, X (Opr2 a b)) => a -> b -> Opr2 a b
+ CsoundExpr.Base.Arithmetic: (^*) :: X a => Irate -> a -> a
+ CsoundExpr.Base.Boolean: (&&*) :: BoolRate -> BoolRate -> BoolRate
+ CsoundExpr.Base.Boolean: (/=*) :: (K a, K b) => a -> b -> BoolRate
+ CsoundExpr.Base.Boolean: (<*) :: (K a, K b) => a -> b -> BoolRate
+ CsoundExpr.Base.Boolean: (<=*) :: (K a, K b) => a -> b -> BoolRate
+ CsoundExpr.Base.Boolean: (==*) :: (K a, K b) => a -> b -> BoolRate
+ CsoundExpr.Base.Boolean: (>*) :: (K a, K b) => a -> b -> BoolRate
+ CsoundExpr.Base.Boolean: (>=*) :: (K a, K b) => a -> b -> BoolRate
+ CsoundExpr.Base.Boolean: (||*) :: BoolRate -> BoolRate -> BoolRate
+ CsoundExpr.Base.Boolean: cond :: (Applicative f, K a) => f BoolRate -> f a -> f a -> f a
+ CsoundExpr.Base.Boolean: crop :: (Applicative f, Monoid (f a), K a) => f BoolRate -> f a -> f a
+ CsoundExpr.Base.Boolean: data BoolRate
+ CsoundExpr.Base.Boolean: false :: BoolRate
+ CsoundExpr.Base.Boolean: ifB :: X a => BoolRate -> a -> a -> a
+ CsoundExpr.Base.Boolean: maxB :: K a => a -> a -> a
+ CsoundExpr.Base.Boolean: minB :: K a => a -> a -> a
+ CsoundExpr.Base.Boolean: notB :: BoolRate -> BoolRate
+ CsoundExpr.Base.Boolean: true :: BoolRate
+ CsoundExpr.Base.Imperative: instance Assign a => Assign [a]
+ CsoundExpr.Base.SideEffect: instance IM CsTree a => IM CsTree (SideEffect a)
+ CsoundExpr.Base.UserDefined: operation :: IM CsTree a => [String] -> [CsTree] -> a
+ CsoundExpr.Base.UserDefined: unaryInfixOperation :: IM CsTree a => String -> CsTree -> a
- CsoundExpr.Base.Arithmetic: neg :: (X a) => a -> a
+ CsoundExpr.Base.Arithmetic: neg :: X a => a -> a
- CsoundExpr.Base.Imperative: (<=>) :: (Assign a) => a -> a -> SignalOut
+ CsoundExpr.Base.Imperative: (<=>) :: Assign a => a -> a -> SignalOut
- CsoundExpr.Base.MultiOut: mo :: (X a) => Int -> MultiOut -> [a]
+ CsoundExpr.Base.MultiOut: mo :: X a => Int -> MultiOut -> [a]
- CsoundExpr.Base.MultiOut: mo1 :: (X a0) => MultiOut -> (a0)
+ CsoundExpr.Base.MultiOut: mo1 :: X a0 => MultiOut -> (a0)
- CsoundExpr.Base.Score: (+:+) :: (Arrangeable a) => a -> a -> a
+ CsoundExpr.Base.Score: (+:+) :: Arrangeable a => a -> a -> a
- CsoundExpr.Base.Score: (=:=) :: (Arrangeable a) => a -> a -> a
+ CsoundExpr.Base.Score: (=:=) :: Arrangeable a => a -> a -> a
- CsoundExpr.Base.Score: chord :: (Arrangeable a) => [a] -> a
+ CsoundExpr.Base.Score: chord :: Arrangeable a => [a] -> a
- CsoundExpr.Base.Score: dur :: (Temporal Dur a) => a -> Dur
+ CsoundExpr.Base.Score: dur :: Temporal Dur a => a -> Dur
- CsoundExpr.Base.Score: line :: (Arrangeable a) => [a] -> a
+ CsoundExpr.Base.Score: line :: Arrangeable a => [a] -> a
- CsoundExpr.Base.Score: loop :: (Arrangeable a) => Int -> a -> a
+ CsoundExpr.Base.Score: loop :: Arrangeable a => Int -> a -> a
- CsoundExpr.Base.Score: rest :: (Temporal Dur a) => Dur -> a
+ CsoundExpr.Base.Score: rest :: Temporal Dur a => Dur -> a
- CsoundExpr.Base.Score: stretch :: (Stretchable Dur a) => Dur -> a -> a
+ CsoundExpr.Base.Score: stretch :: Stretchable Dur a => Dur -> a -> a
- CsoundExpr.Base.SideEffect: se :: (IM CsTree a) => Int -> SideEffect a -> ([a], SideEffect a)
+ CsoundExpr.Base.SideEffect: se :: IM CsTree a => Int -> SideEffect a -> ([a], SideEffect a)
- CsoundExpr.Base.SideEffect: se1 :: (IM CsTree a) => SideEffect a -> (a, SideEffect a)
+ CsoundExpr.Base.SideEffect: se1 :: IM CsTree a => SideEffect a -> (a, SideEffect a)
- CsoundExpr.Base.SideEffect: se2 :: (IM CsTree a) => SideEffect a -> ((a, a), SideEffect a)
+ CsoundExpr.Base.SideEffect: se2 :: IM CsTree a => SideEffect a -> ((a, a), SideEffect a)
- CsoundExpr.Base.SideEffect: se3 :: (IM CsTree a) => SideEffect a -> ((a, a, a), SideEffect a)
+ CsoundExpr.Base.SideEffect: se3 :: IM CsTree a => SideEffect a -> ((a, a, a), SideEffect a)
- CsoundExpr.Base.SideEffect: se4 :: (IM CsTree a) => SideEffect a -> ((a, a, a, a), SideEffect a)
+ CsoundExpr.Base.SideEffect: se4 :: IM CsTree a => SideEffect a -> ((a, a, a, a), SideEffect a)
- CsoundExpr.Base.Types: arate :: (X a) => a -> Arate
+ CsoundExpr.Base.Types: arate :: X a => a -> Arate
- CsoundExpr.Base.Types: class (X a) => K a
+ CsoundExpr.Base.Types: class X a => K a
- CsoundExpr.Base.Types: irate :: (X a) => a -> Irate
+ CsoundExpr.Base.Types: irate :: X a => a -> Irate
- CsoundExpr.Base.Types: krate :: (X a) => a -> Krate
+ CsoundExpr.Base.Types: krate :: X a => a -> Krate
- CsoundExpr.Base.UserDefined: from :: (IM a b) => a -> b
+ CsoundExpr.Base.UserDefined: from :: IM a b => a -> b
- CsoundExpr.Base.UserDefined: infixOperation :: (IM CsTree a) => String -> [CsTree] -> a
+ CsoundExpr.Base.UserDefined: infixOperation :: IM CsTree a => String -> [CsTree] -> a
- CsoundExpr.Base.UserDefined: opcode :: (IM CsTree a) => String -> [CsTree] -> a
+ CsoundExpr.Base.UserDefined: opcode :: IM CsTree a => String -> [CsTree] -> a
- CsoundExpr.Base.UserDefined: prefixOperation :: (IM CsTree a) => String -> [CsTree] -> a
+ CsoundExpr.Base.UserDefined: prefixOperation :: IM CsTree a => String -> [CsTree] -> a
- CsoundExpr.Base.UserDefined: to :: (IM a b) => b -> a
+ CsoundExpr.Base.UserDefined: to :: IM a b => b -> a
- CsoundExpr.Opcodes.Control.FltkOther: flButBank :: (K k0) => Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> [k0] -> (Krate, Irate)
+ CsoundExpr.Opcodes.Control.FltkOther: flButBank :: K k0 => Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> [k0] -> (Krate, Irate)
- CsoundExpr.Opcodes.Control.FltkOther: flButton :: (K k0) => String -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> [k0] -> (Krate, Irate)
+ CsoundExpr.Opcodes.Control.FltkOther: flButton :: K k0 => String -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> [k0] -> (Krate, Irate)
- CsoundExpr.Opcodes.Control.FltkOther: flPrintk :: (K k0) => Irate -> k0 -> Irate -> SignalOut
+ CsoundExpr.Opcodes.Control.FltkOther: flPrintk :: K k0 => Irate -> k0 -> Irate -> SignalOut
- CsoundExpr.Opcodes.Control.FltkOther: flPrintk2 :: (K k0) => k0 -> Irate -> SignalOut
+ CsoundExpr.Opcodes.Control.FltkOther: flPrintk2 :: K k0 => k0 -> Irate -> SignalOut
- CsoundExpr.Opcodes.Control.FltkOther: flSlidBnk2Setk :: (K k0) => [Irate] -> k0 -> Irate -> Irate -> SignalOut
+ CsoundExpr.Opcodes.Control.FltkOther: flSlidBnk2Setk :: K k0 => [Irate] -> k0 -> Irate -> Irate -> SignalOut
- CsoundExpr.Opcodes.Control.FltkValuators: flCount :: (K k0) => String -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> [k0] -> (Krate, Irate)
+ CsoundExpr.Opcodes.Control.FltkValuators: flCount :: K k0 => String -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> [k0] -> (Krate, Irate)
- CsoundExpr.Opcodes.Control.Invocat: scoreline :: (K k0) => String -> k0 -> SignalOut
+ CsoundExpr.Opcodes.Control.Invocat: scoreline :: K k0 => String -> k0 -> SignalOut
- CsoundExpr.Opcodes.Control.Realtime: activeK :: (K k0) => k0 -> Krate
+ CsoundExpr.Opcodes.Control.Realtime: activeK :: K k0 => k0 -> Krate
- CsoundExpr.Opcodes.Control.Sensing: button :: (K k0) => k0 -> Krate
+ CsoundExpr.Opcodes.Control.Sensing: button :: K k0 => k0 -> Krate
- CsoundExpr.Opcodes.Control.Sensing: changed :: (K k0) => [k0] -> Krate
+ CsoundExpr.Opcodes.Control.Sensing: changed :: K k0 => [k0] -> Krate
- CsoundExpr.Opcodes.Control.Sensing: checkbox :: (K k0) => k0 -> Krate
+ CsoundExpr.Opcodes.Control.Sensing: checkbox :: K k0 => k0 -> Krate
- CsoundExpr.Opcodes.Control.Sensing: control :: (K k0) => k0 -> Krate
+ CsoundExpr.Opcodes.Control.Sensing: control :: K k0 => k0 -> Krate
- CsoundExpr.Opcodes.Control.Sensing: peakK :: (K k0) => k0 -> Krate
+ CsoundExpr.Opcodes.Control.Sensing: peakK :: K k0 => k0 -> Krate
- CsoundExpr.Opcodes.Control.Sensing: tempest :: (K k0) => [Irate] -> k0 -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> Krate
+ CsoundExpr.Opcodes.Control.Sensing: tempest :: K k0 => [Irate] -> k0 -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> Krate
- CsoundExpr.Opcodes.Control.Sensing: tempo :: (K k0) => k0 -> Irate -> SignalOut
+ CsoundExpr.Opcodes.Control.Sensing: tempo :: K k0 => k0 -> Irate -> SignalOut
- CsoundExpr.Opcodes.Control.Stacks: push :: (X x0) => [x0] -> SignalOut
+ CsoundExpr.Opcodes.Control.Stacks: push :: X x0 => [x0] -> SignalOut
- CsoundExpr.Opcodes.Math.Amp: ampdb :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Math.Amp: ampdb :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Math.Amp: ampdbfs :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Math.Amp: ampdbfs :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Math.Amp: db :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Math.Amp: db :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Math.Amp: dbamp :: (K k0) => k0 -> k0
+ CsoundExpr.Opcodes.Math.Amp: dbamp :: K k0 => k0 -> k0
- CsoundExpr.Opcodes.Math.Amp: dbfsamp :: (K k0) => k0 -> k0
+ CsoundExpr.Opcodes.Math.Amp: dbfsamp :: K k0 => k0 -> k0
- CsoundExpr.Opcodes.Math.Matfunc: abs' :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Math.Matfunc: abs' :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Math.Matfunc: ceil :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Math.Matfunc: ceil :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Math.Matfunc: exp' :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Math.Matfunc: exp' :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Math.Matfunc: floor' :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Math.Matfunc: floor' :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Math.Matfunc: frac :: (K k0) => k0 -> k0
+ CsoundExpr.Opcodes.Math.Matfunc: frac :: K k0 => k0 -> k0
- CsoundExpr.Opcodes.Math.Matfunc: int :: (K k0) => k0 -> k0
+ CsoundExpr.Opcodes.Math.Matfunc: int :: K k0 => k0 -> k0
- CsoundExpr.Opcodes.Math.Matfunc: log' :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Math.Matfunc: log' :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Math.Matfunc: log10 :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Math.Matfunc: log10 :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Math.Matfunc: logbtwo :: (K k0) => k0 -> k0
+ CsoundExpr.Opcodes.Math.Matfunc: logbtwo :: K k0 => k0 -> k0
- CsoundExpr.Opcodes.Math.Matfunc: powA :: (K k0) => [Irate] -> Arate -> k0 -> Arate
+ CsoundExpr.Opcodes.Math.Matfunc: powA :: K k0 => [Irate] -> Arate -> k0 -> Arate
- CsoundExpr.Opcodes.Math.Matfunc: powoftwo :: (K k0) => k0 -> k0
+ CsoundExpr.Opcodes.Math.Matfunc: powoftwo :: K k0 => k0 -> k0
- CsoundExpr.Opcodes.Math.Matfunc: round' :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Math.Matfunc: round' :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Math.Matfunc: sqrt' :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Math.Matfunc: sqrt' :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Math.Rndfunc: birnd :: (K k0) => k0 -> k0
+ CsoundExpr.Opcodes.Math.Rndfunc: birnd :: K k0 => k0 -> k0
- CsoundExpr.Opcodes.Math.Rndfunc: rnd :: (K k0) => k0 -> k0
+ CsoundExpr.Opcodes.Math.Rndfunc: rnd :: K k0 => k0 -> k0
- CsoundExpr.Opcodes.Math.SigmodCompaccum: maxK :: (K k0) => [k0] -> Krate
+ CsoundExpr.Opcodes.Math.SigmodCompaccum: maxK :: K k0 => [k0] -> Krate
- CsoundExpr.Opcodes.Math.SigmodCompaccum: max_k :: (K k0) => Arate -> k0 -> Irate -> Krate
+ CsoundExpr.Opcodes.Math.SigmodCompaccum: max_k :: K k0 => Arate -> k0 -> Irate -> Krate
- CsoundExpr.Opcodes.Math.SigmodCompaccum: maxabsK :: (K k0) => [k0] -> Krate
+ CsoundExpr.Opcodes.Math.SigmodCompaccum: maxabsK :: K k0 => [k0] -> Krate
- CsoundExpr.Opcodes.Math.SigmodCompaccum: minK :: (K k0) => [k0] -> Krate
+ CsoundExpr.Opcodes.Math.SigmodCompaccum: minK :: K k0 => [k0] -> Krate
- CsoundExpr.Opcodes.Math.SigmodCompaccum: minabsK :: (K k0) => [k0] -> Krate
+ CsoundExpr.Opcodes.Math.SigmodCompaccum: minabsK :: K k0 => [k0] -> Krate
- CsoundExpr.Opcodes.Math.Trig: cos' :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Math.Trig: cos' :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Math.Trig: cosh' :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Math.Trig: cosh' :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Math.Trig: cosinv :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Math.Trig: cosinv :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Math.Trig: sin' :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Math.Trig: sin' :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Math.Trig: sinh' :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Math.Trig: sinh' :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Math.Trig: sininv :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Math.Trig: sininv :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Math.Trig: tan' :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Math.Trig: tan' :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Math.Trig: tanh' :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Math.Trig: tanh' :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Math.Trig: taninv :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Math.Trig: taninv :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Midi.Interop: midichannelaftertouch :: (X x0) => [Irate] -> x0 -> SignalOut
+ CsoundExpr.Opcodes.Midi.Interop: midichannelaftertouch :: X x0 => [Irate] -> x0 -> SignalOut
- CsoundExpr.Opcodes.Midi.Interop: midipitchbend :: (X x0) => [Irate] -> x0 -> SignalOut
+ CsoundExpr.Opcodes.Midi.Interop: midipitchbend :: X x0 => [Irate] -> x0 -> SignalOut
- CsoundExpr.Opcodes.Midi.Interop: midiprogramchange :: (X x0) => x0 -> SignalOut
+ CsoundExpr.Opcodes.Midi.Interop: midiprogramchange :: X x0 => x0 -> SignalOut
- CsoundExpr.Opcodes.Miscopcodes.Top: modmatrix :: (K k0) => Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> k0 -> SignalOut
+ CsoundExpr.Opcodes.Miscopcodes.Top: modmatrix :: K k0 => Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> k0 -> SignalOut
- CsoundExpr.Opcodes.MixerOpcodes.MixerOpcodes: mixerSetLevel :: (K k0) => Irate -> Irate -> k0 -> SignalOut
+ CsoundExpr.Opcodes.MixerOpcodes.MixerOpcodes: mixerSetLevel :: K k0 => Irate -> Irate -> k0 -> SignalOut
- CsoundExpr.Opcodes.OSCNetwork.OSC: oscListen :: (X x0) => Irate -> Irate -> Irate -> [x0] -> Krate
+ CsoundExpr.Opcodes.OSCNetwork.OSC: oscListen :: X x0 => Irate -> Irate -> Irate -> [x0] -> Krate
- CsoundExpr.Opcodes.Pitch.Funcs: cent :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Pitch.Funcs: cent :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Pitch.Funcs: cpsmidinn :: (K k0) => k0 -> k0
+ CsoundExpr.Opcodes.Pitch.Funcs: cpsmidinn :: K k0 => k0 -> k0
- CsoundExpr.Opcodes.Pitch.Funcs: cpsoct :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Pitch.Funcs: cpsoct :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Pitch.Funcs: cpspch :: (K k0) => k0 -> k0
+ CsoundExpr.Opcodes.Pitch.Funcs: cpspch :: K k0 => k0 -> k0
- CsoundExpr.Opcodes.Pitch.Funcs: octave :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Pitch.Funcs: octave :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Pitch.Funcs: octcps :: (K k0) => k0 -> k0
+ CsoundExpr.Opcodes.Pitch.Funcs: octcps :: K k0 => k0 -> k0
- CsoundExpr.Opcodes.Pitch.Funcs: octmidinn :: (K k0) => k0 -> k0
+ CsoundExpr.Opcodes.Pitch.Funcs: octmidinn :: K k0 => k0 -> k0
- CsoundExpr.Opcodes.Pitch.Funcs: octpch :: (K k0) => k0 -> k0
+ CsoundExpr.Opcodes.Pitch.Funcs: octpch :: K k0 => k0 -> k0
- CsoundExpr.Opcodes.Pitch.Funcs: pchmidinn :: (K k0) => k0 -> k0
+ CsoundExpr.Opcodes.Pitch.Funcs: pchmidinn :: K k0 => k0 -> k0
- CsoundExpr.Opcodes.Pitch.Funcs: pchoct :: (K k0) => k0 -> k0
+ CsoundExpr.Opcodes.Pitch.Funcs: pchoct :: K k0 => k0 -> k0
- CsoundExpr.Opcodes.Pitch.Funcs: semitone :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Pitch.Funcs: semitone :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Plugin.Dssi4cs: dssiactivate :: (K k0) => Irate -> k0 -> SignalOut
+ CsoundExpr.Opcodes.Plugin.Dssi4cs: dssiactivate :: K k0 => Irate -> k0 -> SignalOut
- CsoundExpr.Opcodes.Plugin.Vst4cs: vstprogset :: (K k0) => Irate -> k0 -> SignalOut
+ CsoundExpr.Opcodes.Plugin.Vst4cs: vstprogset :: K k0 => Irate -> k0 -> SignalOut
- CsoundExpr.Opcodes.Siggen.Basic: osciln :: (K k0) => k0 -> Irate -> Irate -> Irate -> Arate
+ CsoundExpr.Opcodes.Siggen.Basic: osciln :: K k0 => k0 -> Irate -> Irate -> Irate -> Arate
- CsoundExpr.Opcodes.Siggen.Basic: poscilAAK :: (K k0) => [Irate] -> Arate -> k0 -> Irate -> Arate
+ CsoundExpr.Opcodes.Siggen.Basic: poscilAAK :: K k0 => [Irate] -> Arate -> k0 -> Irate -> Arate
- CsoundExpr.Opcodes.Siggen.Basic: poscilAKA :: (K k0) => [Irate] -> k0 -> Arate -> Irate -> Arate
+ CsoundExpr.Opcodes.Siggen.Basic: poscilAKA :: K k0 => [Irate] -> k0 -> Arate -> Irate -> Arate
- CsoundExpr.Opcodes.Siggen.Dynamic: vco2ft :: (K k0) => [Irate] -> k0 -> Irate -> Krate
+ CsoundExpr.Opcodes.Siggen.Dynamic: vco2ft :: K k0 => [Irate] -> k0 -> Irate -> Krate
- CsoundExpr.Opcodes.Siggen.Envelope: envlpxA :: (X x0) => [Irate] -> x0 -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> Arate
+ CsoundExpr.Opcodes.Siggen.Envelope: envlpxA :: X x0 => [Irate] -> x0 -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> Arate
- CsoundExpr.Opcodes.Siggen.Envelope: envlpxK :: (K k0) => [Irate] -> k0 -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> Krate
+ CsoundExpr.Opcodes.Siggen.Envelope: envlpxK :: K k0 => [Irate] -> k0 -> Irate -> Irate -> Irate -> Irate -> Irate -> Irate -> Krate
- CsoundExpr.Opcodes.Siggen.Envelope: envlpxrA :: (X x0) => [Irate] -> x0 -> Irate -> Irate -> Irate -> Irate -> Irate -> Arate
+ CsoundExpr.Opcodes.Siggen.Envelope: envlpxrA :: X x0 => [Irate] -> x0 -> Irate -> Irate -> Irate -> Irate -> Irate -> Arate
- CsoundExpr.Opcodes.Siggen.Envelope: envlpxrK :: (K k0) => [Irate] -> k0 -> Irate -> Irate -> Irate -> Irate -> Irate -> Krate
+ CsoundExpr.Opcodes.Siggen.Envelope: envlpxrK :: K k0 => [Irate] -> k0 -> Irate -> Irate -> Irate -> Irate -> Irate -> Krate
- CsoundExpr.Opcodes.Siggen.Envelope: linenA :: (X x0) => x0 -> Irate -> Irate -> Irate -> Arate
+ CsoundExpr.Opcodes.Siggen.Envelope: linenA :: X x0 => x0 -> Irate -> Irate -> Irate -> Arate
- CsoundExpr.Opcodes.Siggen.Envelope: linenK :: (K k0) => k0 -> Irate -> Irate -> Irate -> Krate
+ CsoundExpr.Opcodes.Siggen.Envelope: linenK :: K k0 => k0 -> Irate -> Irate -> Irate -> Krate
- CsoundExpr.Opcodes.Siggen.Envelope: linenrA :: (X x0) => x0 -> Irate -> Irate -> Irate -> Arate
+ CsoundExpr.Opcodes.Siggen.Envelope: linenrA :: X x0 => x0 -> Irate -> Irate -> Irate -> Arate
- CsoundExpr.Opcodes.Siggen.Envelope: linenrK :: (K k0) => k0 -> Irate -> Irate -> Irate -> Krate
+ CsoundExpr.Opcodes.Siggen.Envelope: linenrK :: K k0 => k0 -> Irate -> Irate -> Irate -> Krate
- CsoundExpr.Opcodes.Siggen.Hvs: hvs1 :: (K k0) => [Irate] -> k0 -> Irate -> Irate -> Irate -> Irate -> Irate -> SignalOut
+ CsoundExpr.Opcodes.Siggen.Hvs: hvs1 :: K k0 => [Irate] -> k0 -> Irate -> Irate -> Irate -> Irate -> Irate -> SignalOut
- CsoundExpr.Opcodes.Siggen.Hvs: vphaseseg :: (K k0) => k0 -> Irate -> Irate -> [Irate] -> SignalOut
+ CsoundExpr.Opcodes.Siggen.Hvs: vphaseseg :: K k0 => k0 -> Irate -> Irate -> [Irate] -> SignalOut
- CsoundExpr.Opcodes.Siggen.Lineexp: gainslider :: (K k0) => k0 -> Krate
+ CsoundExpr.Opcodes.Siggen.Lineexp: gainslider :: K k0 => k0 -> Krate
- CsoundExpr.Opcodes.Siggen.Models: bamboo :: (K k0) => [Irate] -> k0 -> Irate -> Arate
+ CsoundExpr.Opcodes.Siggen.Models: bamboo :: K k0 => [Irate] -> k0 -> Irate -> Arate
- CsoundExpr.Opcodes.Siggen.Models: dripwater :: (K k0) => [Irate] -> k0 -> Irate -> Arate
+ CsoundExpr.Opcodes.Siggen.Models: dripwater :: K k0 => [Irate] -> k0 -> Irate -> Arate
- CsoundExpr.Opcodes.Siggen.Models: guiro :: (K k0) => [Irate] -> k0 -> Irate -> Arate
+ CsoundExpr.Opcodes.Siggen.Models: guiro :: K k0 => [Irate] -> k0 -> Irate -> Arate
- CsoundExpr.Opcodes.Siggen.Models: sleighbells :: (K k0) => [Irate] -> k0 -> Irate -> Arate
+ CsoundExpr.Opcodes.Siggen.Models: sleighbells :: K k0 => [Irate] -> k0 -> Irate -> Arate
- CsoundExpr.Opcodes.Siggen.Models: tambourine :: (K k0) => [Irate] -> k0 -> Irate -> Arate
+ CsoundExpr.Opcodes.Siggen.Models: tambourine :: K k0 => [Irate] -> k0 -> Irate -> Arate
- CsoundExpr.Opcodes.Siggen.Noise: bexprndA :: (K k0) => k0 -> SideEffect Arate
+ CsoundExpr.Opcodes.Siggen.Noise: bexprndA :: K k0 => k0 -> SideEffect Arate
- CsoundExpr.Opcodes.Siggen.Noise: bexprndA' :: (K k0) => k0 -> Arate
+ CsoundExpr.Opcodes.Siggen.Noise: bexprndA' :: K k0 => k0 -> Arate
- CsoundExpr.Opcodes.Siggen.Noise: bexprndI :: (K k0) => k0 -> SideEffect Irate
+ CsoundExpr.Opcodes.Siggen.Noise: bexprndI :: K k0 => k0 -> SideEffect Irate
- CsoundExpr.Opcodes.Siggen.Noise: bexprndI' :: (K k0) => k0 -> Irate
+ CsoundExpr.Opcodes.Siggen.Noise: bexprndI' :: K k0 => k0 -> Irate
- CsoundExpr.Opcodes.Siggen.Noise: bexprndK :: (K k0) => k0 -> SideEffect Krate
+ CsoundExpr.Opcodes.Siggen.Noise: bexprndK :: K k0 => k0 -> SideEffect Krate
- CsoundExpr.Opcodes.Siggen.Noise: bexprndK' :: (K k0) => k0 -> Krate
+ CsoundExpr.Opcodes.Siggen.Noise: bexprndK' :: K k0 => k0 -> Krate
- CsoundExpr.Opcodes.Siggen.Noise: cauchyA :: (K k0) => k0 -> SideEffect Arate
+ CsoundExpr.Opcodes.Siggen.Noise: cauchyA :: K k0 => k0 -> SideEffect Arate
- CsoundExpr.Opcodes.Siggen.Noise: cauchyA' :: (K k0) => k0 -> Arate
+ CsoundExpr.Opcodes.Siggen.Noise: cauchyA' :: K k0 => k0 -> Arate
- CsoundExpr.Opcodes.Siggen.Noise: cauchyI :: (K k0) => k0 -> SideEffect Irate
+ CsoundExpr.Opcodes.Siggen.Noise: cauchyI :: K k0 => k0 -> SideEffect Irate
- CsoundExpr.Opcodes.Siggen.Noise: cauchyI' :: (K k0) => k0 -> Irate
+ CsoundExpr.Opcodes.Siggen.Noise: cauchyI' :: K k0 => k0 -> Irate
- CsoundExpr.Opcodes.Siggen.Noise: cauchyK :: (K k0) => k0 -> SideEffect Krate
+ CsoundExpr.Opcodes.Siggen.Noise: cauchyK :: K k0 => k0 -> SideEffect Krate
- CsoundExpr.Opcodes.Siggen.Noise: cauchyK' :: (K k0) => k0 -> Krate
+ CsoundExpr.Opcodes.Siggen.Noise: cauchyK' :: K k0 => k0 -> Krate
- CsoundExpr.Opcodes.Siggen.Noise: duserrndA :: (K k0) => k0 -> SideEffect Arate
+ CsoundExpr.Opcodes.Siggen.Noise: duserrndA :: K k0 => k0 -> SideEffect Arate
- CsoundExpr.Opcodes.Siggen.Noise: duserrndA' :: (K k0) => k0 -> Arate
+ CsoundExpr.Opcodes.Siggen.Noise: duserrndA' :: K k0 => k0 -> Arate
- CsoundExpr.Opcodes.Siggen.Noise: duserrndK :: (K k0) => k0 -> SideEffect Krate
+ CsoundExpr.Opcodes.Siggen.Noise: duserrndK :: K k0 => k0 -> SideEffect Krate
- CsoundExpr.Opcodes.Siggen.Noise: duserrndK' :: (K k0) => k0 -> Krate
+ CsoundExpr.Opcodes.Siggen.Noise: duserrndK' :: K k0 => k0 -> Krate
- CsoundExpr.Opcodes.Siggen.Noise: exprandA :: (K k0) => k0 -> SideEffect Arate
+ CsoundExpr.Opcodes.Siggen.Noise: exprandA :: K k0 => k0 -> SideEffect Arate
- CsoundExpr.Opcodes.Siggen.Noise: exprandA' :: (K k0) => k0 -> Arate
+ CsoundExpr.Opcodes.Siggen.Noise: exprandA' :: K k0 => k0 -> Arate
- CsoundExpr.Opcodes.Siggen.Noise: exprandI :: (K k0) => k0 -> SideEffect Irate
+ CsoundExpr.Opcodes.Siggen.Noise: exprandI :: K k0 => k0 -> SideEffect Irate
- CsoundExpr.Opcodes.Siggen.Noise: exprandI' :: (K k0) => k0 -> Irate
+ CsoundExpr.Opcodes.Siggen.Noise: exprandI' :: K k0 => k0 -> Irate
- CsoundExpr.Opcodes.Siggen.Noise: exprandK :: (K k0) => k0 -> SideEffect Krate
+ CsoundExpr.Opcodes.Siggen.Noise: exprandK :: K k0 => k0 -> SideEffect Krate
- CsoundExpr.Opcodes.Siggen.Noise: exprandK' :: (K k0) => k0 -> Krate
+ CsoundExpr.Opcodes.Siggen.Noise: exprandK' :: K k0 => k0 -> Krate
- CsoundExpr.Opcodes.Siggen.Noise: gaussA :: (K k0) => k0 -> SideEffect Arate
+ CsoundExpr.Opcodes.Siggen.Noise: gaussA :: K k0 => k0 -> SideEffect Arate
- CsoundExpr.Opcodes.Siggen.Noise: gaussA' :: (K k0) => k0 -> Arate
+ CsoundExpr.Opcodes.Siggen.Noise: gaussA' :: K k0 => k0 -> Arate
- CsoundExpr.Opcodes.Siggen.Noise: gaussI :: (K k0) => k0 -> SideEffect Irate
+ CsoundExpr.Opcodes.Siggen.Noise: gaussI :: K k0 => k0 -> SideEffect Irate
- CsoundExpr.Opcodes.Siggen.Noise: gaussI' :: (K k0) => k0 -> Irate
+ CsoundExpr.Opcodes.Siggen.Noise: gaussI' :: K k0 => k0 -> Irate
- CsoundExpr.Opcodes.Siggen.Noise: gaussK :: (K k0) => k0 -> SideEffect Krate
+ CsoundExpr.Opcodes.Siggen.Noise: gaussK :: K k0 => k0 -> SideEffect Krate
- CsoundExpr.Opcodes.Siggen.Noise: gaussK' :: (K k0) => k0 -> Krate
+ CsoundExpr.Opcodes.Siggen.Noise: gaussK' :: K k0 => k0 -> Krate
- CsoundExpr.Opcodes.Siggen.Noise: linrandA :: (K k0) => k0 -> SideEffect Arate
+ CsoundExpr.Opcodes.Siggen.Noise: linrandA :: K k0 => k0 -> SideEffect Arate
- CsoundExpr.Opcodes.Siggen.Noise: linrandA' :: (K k0) => k0 -> Arate
+ CsoundExpr.Opcodes.Siggen.Noise: linrandA' :: K k0 => k0 -> Arate
- CsoundExpr.Opcodes.Siggen.Noise: linrandI :: (K k0) => k0 -> SideEffect Irate
+ CsoundExpr.Opcodes.Siggen.Noise: linrandI :: K k0 => k0 -> SideEffect Irate
- CsoundExpr.Opcodes.Siggen.Noise: linrandI' :: (K k0) => k0 -> Irate
+ CsoundExpr.Opcodes.Siggen.Noise: linrandI' :: K k0 => k0 -> Irate
- CsoundExpr.Opcodes.Siggen.Noise: linrandK :: (K k0) => k0 -> SideEffect Krate
+ CsoundExpr.Opcodes.Siggen.Noise: linrandK :: K k0 => k0 -> SideEffect Krate
- CsoundExpr.Opcodes.Siggen.Noise: linrandK' :: (K k0) => k0 -> Krate
+ CsoundExpr.Opcodes.Siggen.Noise: linrandK' :: K k0 => k0 -> Krate
- CsoundExpr.Opcodes.Siggen.Noise: pcauchyA :: (K k0) => k0 -> SideEffect Arate
+ CsoundExpr.Opcodes.Siggen.Noise: pcauchyA :: K k0 => k0 -> SideEffect Arate
- CsoundExpr.Opcodes.Siggen.Noise: pcauchyA' :: (K k0) => k0 -> Arate
+ CsoundExpr.Opcodes.Siggen.Noise: pcauchyA' :: K k0 => k0 -> Arate
- CsoundExpr.Opcodes.Siggen.Noise: pcauchyI :: (K k0) => k0 -> SideEffect Irate
+ CsoundExpr.Opcodes.Siggen.Noise: pcauchyI :: K k0 => k0 -> SideEffect Irate
- CsoundExpr.Opcodes.Siggen.Noise: pcauchyI' :: (K k0) => k0 -> Irate
+ CsoundExpr.Opcodes.Siggen.Noise: pcauchyI' :: K k0 => k0 -> Irate
- CsoundExpr.Opcodes.Siggen.Noise: pcauchyK :: (K k0) => k0 -> SideEffect Krate
+ CsoundExpr.Opcodes.Siggen.Noise: pcauchyK :: K k0 => k0 -> SideEffect Krate
- CsoundExpr.Opcodes.Siggen.Noise: pcauchyK' :: (K k0) => k0 -> Krate
+ CsoundExpr.Opcodes.Siggen.Noise: pcauchyK' :: K k0 => k0 -> Krate
- CsoundExpr.Opcodes.Siggen.Noise: pinkish :: (X x0) => [Irate] -> x0 -> SideEffect Arate
+ CsoundExpr.Opcodes.Siggen.Noise: pinkish :: X x0 => [Irate] -> x0 -> SideEffect Arate
- CsoundExpr.Opcodes.Siggen.Noise: pinkish' :: (X x0) => [Irate] -> x0 -> Arate
+ CsoundExpr.Opcodes.Siggen.Noise: pinkish' :: X x0 => [Irate] -> x0 -> Arate
- CsoundExpr.Opcodes.Siggen.Noise: poissonA :: (K k0) => k0 -> SideEffect Arate
+ CsoundExpr.Opcodes.Siggen.Noise: poissonA :: K k0 => k0 -> SideEffect Arate
- CsoundExpr.Opcodes.Siggen.Noise: poissonA' :: (K k0) => k0 -> Arate
+ CsoundExpr.Opcodes.Siggen.Noise: poissonA' :: K k0 => k0 -> Arate
- CsoundExpr.Opcodes.Siggen.Noise: poissonI :: (K k0) => k0 -> SideEffect Irate
+ CsoundExpr.Opcodes.Siggen.Noise: poissonI :: K k0 => k0 -> SideEffect Irate
- CsoundExpr.Opcodes.Siggen.Noise: poissonI' :: (K k0) => k0 -> Irate
+ CsoundExpr.Opcodes.Siggen.Noise: poissonI' :: K k0 => k0 -> Irate
- CsoundExpr.Opcodes.Siggen.Noise: poissonK :: (K k0) => k0 -> SideEffect Krate
+ CsoundExpr.Opcodes.Siggen.Noise: poissonK :: K k0 => k0 -> SideEffect Krate
- CsoundExpr.Opcodes.Siggen.Noise: poissonK' :: (K k0) => k0 -> Krate
+ CsoundExpr.Opcodes.Siggen.Noise: poissonK' :: K k0 => k0 -> Krate
- CsoundExpr.Opcodes.Siggen.Noise: randA :: (X x0) => [Irate] -> x0 -> Arate
+ CsoundExpr.Opcodes.Siggen.Noise: randA :: X x0 => [Irate] -> x0 -> Arate
- CsoundExpr.Opcodes.Siggen.Noise: randK :: (X x0) => [Irate] -> x0 -> Krate
+ CsoundExpr.Opcodes.Siggen.Noise: randK :: X x0 => [Irate] -> x0 -> Krate
- CsoundExpr.Opcodes.Siggen.Noise: trirandA :: (K k0) => k0 -> SideEffect Arate
+ CsoundExpr.Opcodes.Siggen.Noise: trirandA :: K k0 => k0 -> SideEffect Arate
- CsoundExpr.Opcodes.Siggen.Noise: trirandA' :: (K k0) => k0 -> Arate
+ CsoundExpr.Opcodes.Siggen.Noise: trirandA' :: K k0 => k0 -> Arate
- CsoundExpr.Opcodes.Siggen.Noise: trirandI :: (K k0) => k0 -> SideEffect Irate
+ CsoundExpr.Opcodes.Siggen.Noise: trirandI :: K k0 => k0 -> SideEffect Irate
- CsoundExpr.Opcodes.Siggen.Noise: trirandI' :: (K k0) => k0 -> Irate
+ CsoundExpr.Opcodes.Siggen.Noise: trirandI' :: K k0 => k0 -> Irate
- CsoundExpr.Opcodes.Siggen.Noise: trirandK :: (K k0) => k0 -> SideEffect Krate
+ CsoundExpr.Opcodes.Siggen.Noise: trirandK :: K k0 => k0 -> SideEffect Krate
- CsoundExpr.Opcodes.Siggen.Noise: trirandK' :: (K k0) => k0 -> Krate
+ CsoundExpr.Opcodes.Siggen.Noise: trirandK' :: K k0 => k0 -> Krate
- CsoundExpr.Opcodes.Siggen.Noise: unirandA :: (K k0) => k0 -> SideEffect Arate
+ CsoundExpr.Opcodes.Siggen.Noise: unirandA :: K k0 => k0 -> SideEffect Arate
- CsoundExpr.Opcodes.Siggen.Noise: unirandA' :: (K k0) => k0 -> Arate
+ CsoundExpr.Opcodes.Siggen.Noise: unirandA' :: K k0 => k0 -> Arate
- CsoundExpr.Opcodes.Siggen.Noise: unirandI :: (K k0) => k0 -> SideEffect Irate
+ CsoundExpr.Opcodes.Siggen.Noise: unirandI :: K k0 => k0 -> SideEffect Irate
- CsoundExpr.Opcodes.Siggen.Noise: unirandI' :: (K k0) => k0 -> Irate
+ CsoundExpr.Opcodes.Siggen.Noise: unirandI' :: K k0 => k0 -> Irate
- CsoundExpr.Opcodes.Siggen.Noise: unirandK :: (K k0) => k0 -> SideEffect Krate
+ CsoundExpr.Opcodes.Siggen.Noise: unirandK :: K k0 => k0 -> SideEffect Krate
- CsoundExpr.Opcodes.Siggen.Noise: unirandK' :: (K k0) => k0 -> Krate
+ CsoundExpr.Opcodes.Siggen.Noise: unirandK' :: K k0 => k0 -> Krate
- CsoundExpr.Opcodes.Siggen.Noise: urdA :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Siggen.Noise: urdA :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Siggen.Noise: urdA' :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Siggen.Noise: urdA' :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Siggen.Noise: urdI :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Siggen.Noise: urdI :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Siggen.Noise: urdI' :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Siggen.Noise: urdI' :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Siggen.Noise: urdK :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Siggen.Noise: urdK :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Siggen.Noise: urdK' :: (X x0) => x0 -> x0
+ CsoundExpr.Opcodes.Siggen.Noise: urdK' :: X x0 => x0 -> x0
- CsoundExpr.Opcodes.Siggen.Phasors: phasorA :: (X x0) => [Irate] -> x0 -> Arate
+ CsoundExpr.Opcodes.Siggen.Phasors: phasorA :: X x0 => [Irate] -> x0 -> Arate
- CsoundExpr.Opcodes.Siggen.Phasors: phasorK :: (K k0) => [Irate] -> k0 -> Krate
+ CsoundExpr.Opcodes.Siggen.Phasors: phasorK :: K k0 => [Irate] -> k0 -> Krate
- CsoundExpr.Opcodes.Siggen.Phasors: syncphasor :: (X x0) => [Irate] -> x0 -> Arate -> MultiOut
+ CsoundExpr.Opcodes.Siggen.Phasors: syncphasor :: X x0 => [Irate] -> x0 -> Arate -> MultiOut
- CsoundExpr.Opcodes.Siggen.Sample: fluidCCk :: (K k0) => Irate -> Irate -> Irate -> k0 -> SignalOut
+ CsoundExpr.Opcodes.Siggen.Sample: fluidCCk :: K k0 => Irate -> Irate -> Irate -> k0 -> SignalOut
- CsoundExpr.Opcodes.Siggen.Sample: lphasor :: (X x0) => [Irate] -> x0 -> Arate
+ CsoundExpr.Opcodes.Siggen.Sample: lphasor :: X x0 => [Irate] -> x0 -> Arate
- CsoundExpr.Opcodes.Siggen.Sample: waveset :: (K k0) => [Irate] -> Arate -> k0 -> Arate
+ CsoundExpr.Opcodes.Siggen.Sample: waveset :: K k0 => [Irate] -> Arate -> k0 -> Arate
- CsoundExpr.Opcodes.Siggen.Tableacc: oscil1 :: (K k0) => Irate -> k0 -> Irate -> Irate -> Krate
+ CsoundExpr.Opcodes.Siggen.Tableacc: oscil1 :: K k0 => Irate -> k0 -> Irate -> Irate -> Krate
- CsoundExpr.Opcodes.Siggen.Tableacc: oscil1i :: (K k0) => Irate -> k0 -> Irate -> Irate -> Krate
+ CsoundExpr.Opcodes.Siggen.Tableacc: oscil1i :: K k0 => Irate -> k0 -> Irate -> Irate -> Krate
- CsoundExpr.Opcodes.Siggen.Tableacc: tabA :: (X x0) => [Irate] -> x0 -> Irate -> Arate
+ CsoundExpr.Opcodes.Siggen.Tableacc: tabA :: X x0 => [Irate] -> x0 -> Irate -> Arate
- CsoundExpr.Opcodes.Siggen.Tableacc: tabK :: (K k0) => [Irate] -> k0 -> Irate -> Krate
+ CsoundExpr.Opcodes.Siggen.Tableacc: tabK :: K k0 => [Irate] -> k0 -> Irate -> Krate
- CsoundExpr.Opcodes.Siggen.Tableacc: table3K :: (K k0) => [Irate] -> k0 -> Irate -> Krate
+ CsoundExpr.Opcodes.Siggen.Tableacc: table3K :: K k0 => [Irate] -> k0 -> Irate -> Krate
- CsoundExpr.Opcodes.Siggen.Tableacc: tableK :: (K k0) => [Irate] -> k0 -> Irate -> Krate
+ CsoundExpr.Opcodes.Siggen.Tableacc: tableK :: K k0 => [Irate] -> k0 -> Irate -> Krate
- CsoundExpr.Opcodes.Siggen.Tableacc: tableiK :: (K k0) => [Irate] -> k0 -> Irate -> Krate
+ CsoundExpr.Opcodes.Siggen.Tableacc: tableiK :: K k0 => [Irate] -> k0 -> Irate -> Krate
- CsoundExpr.Opcodes.Siggen.Wavguide: wgpluck :: (K k0) => Irate -> Irate -> k0 -> Irate -> Irate -> Irate -> Arate -> Arate
+ CsoundExpr.Opcodes.Siggen.Wavguide: wgpluck :: K k0 => Irate -> Irate -> k0 -> Irate -> Irate -> Irate -> Arate -> Arate
- CsoundExpr.Opcodes.Sigio.FileIO: dumpk :: (K k0) => k0 -> Irate -> Irate -> Irate -> SignalOut
+ CsoundExpr.Opcodes.Sigio.FileIO: dumpk :: K k0 => k0 -> Irate -> Irate -> Irate -> SignalOut
- CsoundExpr.Opcodes.Sigio.FileIO: fink :: (K k0) => String -> Irate -> Irate -> [k0] -> SignalOut
+ CsoundExpr.Opcodes.Sigio.FileIO: fink :: K k0 => String -> Irate -> Irate -> [k0] -> SignalOut
- CsoundExpr.Opcodes.Sigio.FileIO: foutk :: (K k0) => String -> Irate -> [k0] -> SignalOut
+ CsoundExpr.Opcodes.Sigio.FileIO: foutk :: K k0 => String -> Irate -> [k0] -> SignalOut
- CsoundExpr.Opcodes.Sigio.FileIO: fprintks :: (K k0) => String -> String -> [k0] -> SignalOut
+ CsoundExpr.Opcodes.Sigio.FileIO: fprintks :: K k0 => String -> String -> [k0] -> SignalOut
- CsoundExpr.Opcodes.Sigio.Input: diskin :: (K k0) => [Irate] -> String -> k0 -> MultiOut
+ CsoundExpr.Opcodes.Sigio.Input: diskin :: K k0 => [Irate] -> String -> k0 -> MultiOut
- CsoundExpr.Opcodes.Sigio.Input: diskin2 :: (K k0) => [Irate] -> String -> k0 -> MultiOut
+ CsoundExpr.Opcodes.Sigio.Input: diskin2 :: K k0 => [Irate] -> String -> k0 -> MultiOut
- CsoundExpr.Opcodes.Sigio.Input: inch :: (K k0) => k0 -> Arate
+ CsoundExpr.Opcodes.Sigio.Input: inch :: K k0 => k0 -> Arate
- CsoundExpr.Opcodes.Sigio.Input: inrg :: (K k0) => k0 -> [Arate] -> SignalOut
+ CsoundExpr.Opcodes.Sigio.Input: inrg :: K k0 => k0 -> [Arate] -> SignalOut
- CsoundExpr.Opcodes.Sigio.Input: inz :: (K k0) => k0 -> SignalOut
+ CsoundExpr.Opcodes.Sigio.Input: inz :: K k0 => k0 -> SignalOut
- CsoundExpr.Opcodes.Sigio.Output: outc :: (K k0) => k0 -> [Arate] -> SignalOut
+ CsoundExpr.Opcodes.Sigio.Output: outc :: K k0 => k0 -> [Arate] -> SignalOut
- CsoundExpr.Opcodes.Sigio.Output: outch :: (K k0) => k0 -> [Arate] -> SignalOut
+ CsoundExpr.Opcodes.Sigio.Output: outch :: K k0 => k0 -> [Arate] -> SignalOut
- CsoundExpr.Opcodes.Sigio.Output: outrg :: (K k0) => k0 -> [Arate] -> SignalOut
+ CsoundExpr.Opcodes.Sigio.Output: outrg :: K k0 => k0 -> [Arate] -> SignalOut
- CsoundExpr.Opcodes.Sigio.Output: outvalueK :: (K k0) => String -> k0 -> SignalOut
+ CsoundExpr.Opcodes.Sigio.Output: outvalueK :: K k0 => String -> k0 -> SignalOut
- CsoundExpr.Opcodes.Sigio.Output: outz :: (K k0) => k0 -> SignalOut
+ CsoundExpr.Opcodes.Sigio.Output: outz :: K k0 => k0 -> SignalOut
- CsoundExpr.Opcodes.Sigio.Pdisplay: dispfft :: (X x0) => [Irate] -> x0 -> Irate -> Irate -> SignalOut
+ CsoundExpr.Opcodes.Sigio.Pdisplay: dispfft :: X x0 => [Irate] -> x0 -> Irate -> Irate -> SignalOut
- CsoundExpr.Opcodes.Sigio.Pdisplay: display :: (X x0) => [Irate] -> x0 -> Irate -> SignalOut
+ CsoundExpr.Opcodes.Sigio.Pdisplay: display :: X x0 => [Irate] -> x0 -> Irate -> SignalOut
- CsoundExpr.Opcodes.Sigio.Pdisplay: printk :: (K k0) => [Irate] -> Irate -> k0 -> SignalOut
+ CsoundExpr.Opcodes.Sigio.Pdisplay: printk :: K k0 => [Irate] -> Irate -> k0 -> SignalOut
- CsoundExpr.Opcodes.Sigio.Pdisplay: printk2 :: (K k0) => [Irate] -> k0 -> SignalOut
+ CsoundExpr.Opcodes.Sigio.Pdisplay: printk2 :: K k0 => [Irate] -> k0 -> SignalOut
- CsoundExpr.Opcodes.Sigio.Pdisplay: printks :: (K k0) => String -> Irate -> [k0] -> SignalOut
+ CsoundExpr.Opcodes.Sigio.Pdisplay: printks :: K k0 => String -> Irate -> [k0] -> SignalOut
- CsoundExpr.Opcodes.Sigio.Pdisplay: prints :: (K k0) => String -> [k0] -> SignalOut
+ CsoundExpr.Opcodes.Sigio.Pdisplay: prints :: K k0 => String -> [k0] -> SignalOut
- CsoundExpr.Opcodes.Sigio.SoftwareBus: chnsendK :: (K k0) => k0 -> String -> SignalOut
+ CsoundExpr.Opcodes.Sigio.SoftwareBus: chnsendK :: K k0 => k0 -> String -> SignalOut
- CsoundExpr.Opcodes.Sigio.SoftwareBus: chnsetK :: (K k0) => k0 -> String -> SignalOut
+ CsoundExpr.Opcodes.Sigio.SoftwareBus: chnsetK :: K k0 => k0 -> String -> SignalOut
- CsoundExpr.Opcodes.Sigmod.Delay: delayk :: (K k0) => [Irate] -> k0 -> Irate -> Krate
+ CsoundExpr.Opcodes.Sigmod.Delay: delayk :: K k0 => [Irate] -> k0 -> Irate -> Krate
- CsoundExpr.Opcodes.Sigmod.Delay: deltap :: (K k0) => k0 -> Arate
+ CsoundExpr.Opcodes.Sigmod.Delay: deltap :: K k0 => k0 -> Arate
- CsoundExpr.Opcodes.Sigmod.Delay: deltap3 :: (X x0) => x0 -> Arate
+ CsoundExpr.Opcodes.Sigmod.Delay: deltap3 :: X x0 => x0 -> Arate
- CsoundExpr.Opcodes.Sigmod.Delay: deltapi :: (X x0) => x0 -> Arate
+ CsoundExpr.Opcodes.Sigmod.Delay: deltapi :: X x0 => x0 -> Arate
- CsoundExpr.Opcodes.Sigmod.Delay: deltapn :: (X x0) => x0 -> Arate
+ CsoundExpr.Opcodes.Sigmod.Delay: deltapn :: X x0 => x0 -> Arate
- CsoundExpr.Opcodes.Sigmod.Panspatl: pan2 :: (X x0) => [Irate] -> Arate -> x0 -> MultiOut
+ CsoundExpr.Opcodes.Sigmod.Panspatl: pan2 :: X x0 => [Irate] -> Arate -> x0 -> MultiOut
- CsoundExpr.Opcodes.Sigmod.Reverbtn: alpass :: (K k0) => [Irate] -> Arate -> k0 -> Irate -> Arate
+ CsoundExpr.Opcodes.Sigmod.Reverbtn: alpass :: K k0 => [Irate] -> Arate -> k0 -> Irate -> Arate
- CsoundExpr.Opcodes.Sigmod.Reverbtn: comb :: (K k0) => [Irate] -> Arate -> k0 -> Irate -> Arate
+ CsoundExpr.Opcodes.Sigmod.Reverbtn: comb :: K k0 => [Irate] -> Arate -> k0 -> Irate -> Arate
- CsoundExpr.Opcodes.Sigmod.Reverbtn: reverb :: (K k0) => [Irate] -> Arate -> k0 -> Arate
+ CsoundExpr.Opcodes.Sigmod.Reverbtn: reverb :: K k0 => [Irate] -> Arate -> k0 -> Arate
- CsoundExpr.Opcodes.Sigmod.Sample: diffK :: (K k0) => [Irate] -> k0 -> Krate
+ CsoundExpr.Opcodes.Sigmod.Sample: diffK :: K k0 => [Irate] -> k0 -> Krate
- CsoundExpr.Opcodes.Sigmod.Sample: fold :: (K k0) => Arate -> k0 -> Arate
+ CsoundExpr.Opcodes.Sigmod.Sample: fold :: K k0 => Arate -> k0 -> Arate
- CsoundExpr.Opcodes.Sigmod.Sample: integK :: (K k0) => [Irate] -> k0 -> Krate
+ CsoundExpr.Opcodes.Sigmod.Sample: integK :: K k0 => [Irate] -> k0 -> Krate
- CsoundExpr.Opcodes.Sigmod.Sample: interp :: (K k0) => [Irate] -> k0 -> Arate
+ CsoundExpr.Opcodes.Sigmod.Sample: interp :: K k0 => [Irate] -> k0 -> Arate
- CsoundExpr.Opcodes.Sigmod.Sample: ntrpolA :: (K k0) => [Irate] -> Arate -> Arate -> k0 -> Arate
+ CsoundExpr.Opcodes.Sigmod.Sample: ntrpolA :: K k0 => [Irate] -> Arate -> Arate -> k0 -> Arate
- CsoundExpr.Opcodes.Sigmod.Sample: upsamp :: (K k0) => k0 -> Arate
+ CsoundExpr.Opcodes.Sigmod.Sample: upsamp :: K k0 => k0 -> Arate
- CsoundExpr.Opcodes.Sigmod.Sample: vaget :: (K k0) => k0 -> Arate -> Krate
+ CsoundExpr.Opcodes.Sigmod.Sample: vaget :: K k0 => k0 -> Arate -> Krate
- CsoundExpr.Opcodes.Sigmod.SigProcAmpMod: dam :: (K k0) => Arate -> k0 -> Irate -> Irate -> Irate -> Irate -> Arate
+ CsoundExpr.Opcodes.Sigmod.SigProcAmpMod: dam :: K k0 => Arate -> k0 -> Irate -> Irate -> Irate -> Irate -> Arate
- CsoundExpr.Opcodes.Sigmod.SigProcAmpMod: gain :: (K k0) => [Irate] -> Arate -> k0 -> Arate
+ CsoundExpr.Opcodes.Sigmod.SigProcAmpMod: gain :: K k0 => [Irate] -> Arate -> k0 -> Arate
- CsoundExpr.Opcodes.Sigmod.SigProcConmorph: cross2 :: (K k0) => Arate -> Arate -> Irate -> Irate -> Irate -> k0 -> Arate
+ CsoundExpr.Opcodes.Sigmod.SigProcConmorph: cross2 :: K k0 => Arate -> Arate -> Irate -> Irate -> Irate -> k0 -> Arate
- CsoundExpr.Opcodes.Sigmod.SigProcConmorph: ftmorf :: (K k0) => k0 -> Irate -> Irate -> SignalOut
+ CsoundExpr.Opcodes.Sigmod.SigProcConmorph: ftmorf :: K k0 => k0 -> Irate -> Irate -> SignalOut
- CsoundExpr.Opcodes.Sigmod.Speciale: distort :: (K k0) => [Irate] -> Arate -> k0 -> Irate -> Arate
+ CsoundExpr.Opcodes.Sigmod.Speciale: distort :: K k0 => [Irate] -> Arate -> k0 -> Irate -> Arate
- CsoundExpr.Opcodes.Sigmod.Speciale: flanger :: (K k0) => [Irate] -> Arate -> Arate -> k0 -> Arate
+ CsoundExpr.Opcodes.Sigmod.Speciale: flanger :: K k0 => [Irate] -> Arate -> Arate -> k0 -> Arate
- CsoundExpr.Opcodes.Sigmod.Speciali: filter2K :: (K k0) => k0 -> Irate -> Irate -> [Irate] -> [Irate] -> Krate
+ CsoundExpr.Opcodes.Sigmod.Speciali: filter2K :: K k0 => k0 -> Irate -> Irate -> [Irate] -> [Irate] -> Krate
- CsoundExpr.Opcodes.Sigmod.Standard: atone :: (K k0) => [Irate] -> Arate -> k0 -> Arate
+ CsoundExpr.Opcodes.Sigmod.Standard: atone :: K k0 => [Irate] -> Arate -> k0 -> Arate
- CsoundExpr.Opcodes.Sigmod.Standard: atonex :: (K k0) => [Irate] -> Arate -> k0 -> Arate
+ CsoundExpr.Opcodes.Sigmod.Standard: atonex :: K k0 => [Irate] -> Arate -> k0 -> Arate
- CsoundExpr.Opcodes.Sigmod.Standard: buthp :: (K k0) => [Irate] -> Arate -> k0 -> Arate
+ CsoundExpr.Opcodes.Sigmod.Standard: buthp :: K k0 => [Irate] -> Arate -> k0 -> Arate
- CsoundExpr.Opcodes.Sigmod.Standard: butlp :: (K k0) => [Irate] -> Arate -> k0 -> Arate
+ CsoundExpr.Opcodes.Sigmod.Standard: butlp :: K k0 => [Irate] -> Arate -> k0 -> Arate
- CsoundExpr.Opcodes.Sigmod.Standard: butterhp :: (K k0) => [Irate] -> Arate -> k0 -> Arate
+ CsoundExpr.Opcodes.Sigmod.Standard: butterhp :: K k0 => [Irate] -> Arate -> k0 -> Arate
- CsoundExpr.Opcodes.Sigmod.Standard: butterlp :: (K k0) => [Irate] -> Arate -> k0 -> Arate
+ CsoundExpr.Opcodes.Sigmod.Standard: butterlp :: K k0 => [Irate] -> Arate -> k0 -> Arate
- CsoundExpr.Opcodes.Sigmod.Standard: clfilt :: (K k0) => [Irate] -> Arate -> k0 -> Irate -> Irate -> Arate
+ CsoundExpr.Opcodes.Sigmod.Standard: clfilt :: K k0 => [Irate] -> Arate -> k0 -> Irate -> Irate -> Arate
- CsoundExpr.Opcodes.Sigmod.Standard: port :: (K k0) => [Irate] -> k0 -> Irate -> Krate
+ CsoundExpr.Opcodes.Sigmod.Standard: port :: K k0 => [Irate] -> k0 -> Irate -> Krate
- CsoundExpr.Opcodes.Sigmod.Standard: tone :: (K k0) => [Irate] -> Arate -> k0 -> Arate
+ CsoundExpr.Opcodes.Sigmod.Standard: tone :: K k0 => [Irate] -> Arate -> k0 -> Arate
- CsoundExpr.Opcodes.Sigmod.Standard: tonex :: (K k0) => [Irate] -> Arate -> k0 -> Arate
+ CsoundExpr.Opcodes.Sigmod.Standard: tonex :: K k0 => [Irate] -> Arate -> k0 -> Arate
- CsoundExpr.Opcodes.Sigmod.Wavguide: streson :: (K k0) => Arate -> k0 -> Irate -> Arate
+ CsoundExpr.Opcodes.Sigmod.Wavguide: streson :: K k0 => Arate -> k0 -> Irate -> Arate
- CsoundExpr.Opcodes.Sigmod.Wavshape: chebyshevpoly :: (K k0) => Arate -> [k0] -> Arate
+ CsoundExpr.Opcodes.Sigmod.Wavshape: chebyshevpoly :: K k0 => Arate -> [k0] -> Arate
- CsoundExpr.Opcodes.Sigmod.Wavshape: pdhalf :: (K k0) => [Irate] -> Arate -> k0 -> Arate
+ CsoundExpr.Opcodes.Sigmod.Wavshape: pdhalf :: K k0 => [Irate] -> Arate -> k0 -> Arate
- CsoundExpr.Opcodes.Sigmod.Wavshape: pdhalfy :: (K k0) => [Irate] -> Arate -> k0 -> Arate
+ CsoundExpr.Opcodes.Sigmod.Wavshape: pdhalfy :: K k0 => [Irate] -> Arate -> k0 -> Arate
- CsoundExpr.Opcodes.Sigmod.Wavshape: polynomial :: (K k0) => Arate -> [k0] -> Arate
+ CsoundExpr.Opcodes.Sigmod.Wavshape: polynomial :: K k0 => Arate -> [k0] -> Arate
- CsoundExpr.Opcodes.Sigmod.Wavshape: powershape :: (K k0) => [Irate] -> Arate -> k0 -> Arate
+ CsoundExpr.Opcodes.Sigmod.Wavshape: powershape :: K k0 => [Irate] -> Arate -> k0 -> Arate
- CsoundExpr.Opcodes.SignalFlowGraphOpcodes.SignalFlowGraphOpcodes: outletk :: (K k0) => String -> k0 -> SignalOut
+ CsoundExpr.Opcodes.SignalFlowGraphOpcodes.SignalFlowGraphOpcodes: outletk :: K k0 => String -> k0 -> SignalOut
- CsoundExpr.Opcodes.Spectral.ATS: atsAddnz :: (K k0) => [Irate] -> k0 -> Irate -> Irate -> Arate
+ CsoundExpr.Opcodes.Spectral.ATS: atsAddnz :: K k0 => [Irate] -> k0 -> Irate -> Irate -> Arate
- CsoundExpr.Opcodes.Spectral.ATS: atsInterpread :: (K k0) => k0 -> Krate
+ CsoundExpr.Opcodes.Spectral.ATS: atsInterpread :: K k0 => k0 -> Krate
- CsoundExpr.Opcodes.Spectral.ATS: atsRead :: (K k0) => k0 -> Irate -> Irate -> MultiOut
+ CsoundExpr.Opcodes.Spectral.ATS: atsRead :: K k0 => k0 -> Irate -> Irate -> MultiOut
- CsoundExpr.Opcodes.Spectral.ATS: atsReadnz :: (K k0) => k0 -> Irate -> Irate -> Krate
+ CsoundExpr.Opcodes.Spectral.ATS: atsReadnz :: K k0 => k0 -> Irate -> Irate -> Krate
- CsoundExpr.Opcodes.Spectral.Lpcresyn: lpfreson :: (K k0) => Arate -> k0 -> Arate
+ CsoundExpr.Opcodes.Spectral.Lpcresyn: lpfreson :: K k0 => Arate -> k0 -> Arate
- CsoundExpr.Opcodes.Spectral.Lpcresyn: lpinterp :: (K k0) => Irate -> Irate -> k0 -> SignalOut
+ CsoundExpr.Opcodes.Spectral.Lpcresyn: lpinterp :: K k0 => Irate -> Irate -> k0 -> SignalOut
- CsoundExpr.Opcodes.Spectral.Lpcresyn: lpread :: (K k0) => [Irate] -> k0 -> String -> MultiOut
+ CsoundExpr.Opcodes.Spectral.Lpcresyn: lpread :: K k0 => [Irate] -> k0 -> String -> MultiOut
- CsoundExpr.Opcodes.Spectral.SiggenStft: pvbufread :: (K k0) => k0 -> Irate -> SignalOut
+ CsoundExpr.Opcodes.Spectral.SiggenStft: pvbufread :: K k0 => k0 -> Irate -> SignalOut
- CsoundExpr.Opcodes.Spectral.SiggenStft: pvread :: (K k0) => k0 -> Irate -> Irate -> MultiOut
+ CsoundExpr.Opcodes.Spectral.SiggenStft: pvread :: K k0 => k0 -> Irate -> Irate -> MultiOut
- CsoundExpr.Opcodes.Table.Queries: tablengK :: (K k0) => k0 -> Krate
+ CsoundExpr.Opcodes.Table.Queries: tablengK :: K k0 => k0 -> Krate
- CsoundExpr.Opcodes.Table.Readwrit: ftloadk :: (K k0) => String -> k0 -> Irate -> [Irate] -> SignalOut
+ CsoundExpr.Opcodes.Table.Readwrit: ftloadk :: K k0 => String -> k0 -> Irate -> [Irate] -> SignalOut
- CsoundExpr.Opcodes.Table.Readwrit: ftsavek :: (K k0) => String -> k0 -> Irate -> [Irate] -> SignalOut
+ CsoundExpr.Opcodes.Table.Readwrit: ftsavek :: K k0 => String -> k0 -> Irate -> [Irate] -> SignalOut
- CsoundExpr.Opcodes.Table.Readwrit: tablegpw :: (K k0) => k0 -> SignalOut
+ CsoundExpr.Opcodes.Table.Readwrit: tablegpw :: K k0 => k0 -> SignalOut
- CsoundExpr.Opcodes.Table.Readwrit: tablewktA :: (K k0) => [Irate] -> Arate -> Arate -> k0 -> SignalOut
+ CsoundExpr.Opcodes.Table.Readwrit: tablewktA :: K k0 => [Irate] -> Arate -> Arate -> k0 -> SignalOut
- CsoundExpr.Opcodes.Vectorial.Vectorialdelay: vdelayk :: (K k0) => [Irate] -> Irate -> k0 -> Irate -> Krate
+ CsoundExpr.Opcodes.Vectorial.Vectorialdelay: vdelayk :: K k0 => [Irate] -> Irate -> k0 -> Irate -> Krate
- CsoundExpr.Opcodes.Vectorial.Vectorialdelay: vport :: (K k0) => [Irate] -> Irate -> k0 -> Irate -> SignalOut
+ CsoundExpr.Opcodes.Vectorial.Vectorialdelay: vport :: K k0 => [Irate] -> Irate -> k0 -> Irate -> SignalOut
- CsoundExpr.Opcodes.Zak.Top: zamod :: (K k0) => Arate -> k0 -> Arate
+ CsoundExpr.Opcodes.Zak.Top: zamod :: K k0 => Arate -> k0 -> Arate
- CsoundExpr.Opcodes.Zak.Top: zar :: (K k0) => k0 -> Arate
+ CsoundExpr.Opcodes.Zak.Top: zar :: K k0 => k0 -> Arate
- CsoundExpr.Opcodes.Zak.Top: zaw :: (K k0) => Arate -> k0 -> SignalOut
+ CsoundExpr.Opcodes.Zak.Top: zaw :: K k0 => Arate -> k0 -> SignalOut
- CsoundExpr.Opcodes.Zak.Top: zawm :: (K k0) => [Irate] -> Arate -> k0 -> SignalOut
+ CsoundExpr.Opcodes.Zak.Top: zawm :: K k0 => [Irate] -> Arate -> k0 -> SignalOut
- CsoundExpr.Opcodes.Zak.Top: zkr :: (K k0) => k0 -> Krate
+ CsoundExpr.Opcodes.Zak.Top: zkr :: K k0 => k0 -> Krate
- CsoundExpr.Tutorial.Orchestra: exmpArith :: (K k0) => k0 -> SignalOut
+ CsoundExpr.Tutorial.Orchestra: exmpArith :: K k0 => k0 -> SignalOut

Files

+ Changelog view
@@ -0,0 +1,11 @@+-> 0.1.0    new type BoolRate, functional if/then/else is possible+			new operators : <^>, <%>+			scaling becomes ^* (due to <* is defined as lower then for signals)++-> 0.0.3    fix a bug with p-fields assignment++-> 0.0.2    fix a bug in dependencies++-> 0.0.1    add Tutorial++0.0
csound-expression.cabal view
@@ -1,5 +1,5 @@ Name:          csound-expression-Version:       0.0.3+Version:       0.1.0 Cabal-Version: >= 1.2 License:       BSD3 License-File:  LICENSE@@ -12,16 +12,20 @@ Tested-With:   GHC==6.12.1 Build-Type:    Simple +Extra-Source-Files : +              Changelog  Library   Build-Depends:-        base >= 4, base < 5, containers, mtl == 2.0.1.0, pretty, filepath, directory, haskell98, temporal-media == 0.0+        base >= 4, base < 5, containers, mtl == 2.0.1.0, pretty, +        filepath, directory, haskell98, Boolean, temporal-media == 0.0   Hs-Source-Dirs:      src/   Exposed-Modules:         CsoundExpr -- Base         CsoundExpr.Base         CsoundExpr.Base.Types+        CsoundExpr.Base.Boolean         CsoundExpr.Base.Imperative         CsoundExpr.Base.MultiOut         CsoundExpr.Base.SideEffect@@ -159,6 +163,7 @@ -- Cs         CsoundExpr.Translator.Cs.CsoundFile         CsoundExpr.Translator.Cs.CsTree+        CsoundExpr.Translator.Cs.CsBoolean         CsoundExpr.Translator.Cs.IM         CsoundExpr.Translator.Cs.Utils -- Translator
src/CsoundExpr/Base.hs view
@@ -5,6 +5,7 @@ -- and "CsoundExpr.Base.Pitch". module CsoundExpr.Base ( 	module CsoundExpr.Base.Types,+	module CsoundExpr.Base.Boolean, 	module CsoundExpr.Base.Imperative, 	module CsoundExpr.Base.MultiOut, 	module CsoundExpr.Base.Arithmetic,@@ -17,6 +18,7 @@ where  import CsoundExpr.Base.Types+import CsoundExpr.Base.Boolean import CsoundExpr.Base.Imperative import CsoundExpr.Base.MultiOut import CsoundExpr.Base.Arithmetic
src/CsoundExpr/Base/Arithmetic.hs view
@@ -6,7 +6,7 @@ -- | Arithmetic operators  module CsoundExpr.Base.Arithmetic -	(Opr2, (<+>), neg, (<->), (<*>), (</>), (<*))+	(Opr2, (<+>), neg, (<->), (<*>), (</>), (<^>), (<%>), (^*)) where  import Prelude hiding (div)@@ -21,16 +21,19 @@  import CsoundExpr.Base.Types (Irate(..), Krate(..), Arate(..)) -infixr 8  <* +import CsoundExpr.Base.Boolean++infixr 9  ^* +infixr 8  <^> infixr 7  <*>, </>-infixr 6  <+>, <->+infixr 6  <+>, <->, <%>   subst :: (IM d a, IM d b, IM d c) => (d -> d -> c) -> (a -> b -> c) subst f x y = f (to x) (to y)  opr1 :: IM CsTree a => Name -> (Double -> Double) -> CsTree -> a-opr1 name fun a = maybe (infixOperation name $ return a) +opr1 name fun a = maybe (unaryInfixOperation name a)  			from (optim1 fun a)  opr1p :: IM CsTree a => Name -> (Double -> Double) -> CsTree -> a@@ -59,21 +62,33 @@ ---------------------------------------------------------- -- Type inference -(<+>), (<->), (<*>), (</>) :: (X a, X b, X (Opr2 a b)) => a -> b -> Opr2 a b+(<+>), (<->), (<*>), (</>), (<^>), (<%>) :: (X a, X b, X (Opr2 a b)) => a -> b -> Opr2 a b  (<+>) = subst $ opr2 "+" (+) (<->) = subst $ opr2 "-" (-) (<*>) = subst $ opr2 "*" (*) (</>) = subst $ opr2 "/" (/) +-- | "power of" operator+(<^>) = subst $ opr2 "^" (**)++-- | modulus operator+(<%>) = subst $ opr2 "%" modDouble+ -- | negation neg :: (X a) => a -> a neg = opr1 "-" negate . to --- | Scaling-(<*) :: X a => Irate -> a -> a-(<*) = subst $ opr2 "*" (*)+-- | scaling+(^*) :: X a => Irate -> a -> a+(^*) = subst $ opr2 "*" (*) ++modDouble :: Double -> Double -> Double+modDouble a b = signum a * until ( < b') (+ (-b')) a'+    where a' = abs a+          b' = abs b+ ---------------------------------------------------------- -- Num instances --@@ -96,7 +111,7 @@     (+) = (<+>)     (*) = (<*>)     abs = opr1p "abs" abs . to-    signum = error "is undefined"+    signum x = ifB (krate x >* num 0) 1 $ ifB (krate x <* num 0) (-1) 0     (-) = (<->)     fromInteger = double . fromInteger @@ -110,7 +125,7 @@     (+) = (<+>)     (*) = (<*>)     abs = opr1p "abs" abs . to-    signum = error "is undefined"+    signum x = ifB (x >* num 0) 1 $ ifB (x <* num 0) (-1) 0      (-) = (<->)     fromInteger = double . fromInteger @@ -124,13 +139,16 @@     (+) = (<+>)     (*) = (<*>)     abs = opr1p "abs" abs . to-    signum = error "is undefined"+    signum x = ifB (x >* num 0) 1 $ ifB (x <* num 0) (-1) 0      (-) = (<->)     fromInteger = double . fromInteger +num :: Irate -> Irate+num = id  instance Fractional Irate where     (/) = (</>)     fromRational = double . fromRational -+--------------------------------------------------+--
+ src/CsoundExpr/Base/Boolean.hs view
@@ -0,0 +1,85 @@+-- | replica of "Data.Boolean" module. Booleans for csound signals+module CsoundExpr.Base.Boolean (+     BoolRate,+     true, false, notB, (&&*), (||*),+     (==*), (/=*), (<*), (>*), (<=*), (>=*),+     ifB, minB, maxB, cond, crop+    )+ where++import CsoundExpr.Translator.Types+import CsoundExpr.Translator.Cs.IM++import qualified CsoundExpr.Translator.Cs.CsTree as La+import CsoundExpr.Translator.Cs.CsBoolean++import qualified Data.Boolean as B+import Data.Monoid+import Control.Applicative hiding ((<*))+++--------------------------------------------+-- Boolean instances++toCs :: X a => a -> La.CsTree+toCs = to++-----------------------------------------+-- BoolRate++infixr 3  &&*+infixr 2  ||*++true    = BoolRate B.true+false   = BoolRate B.false+notB (BoolRate a) = BoolRate $ B.notB a+BoolRate a &&* BoolRate b = BoolRate $ a B.&&* b+BoolRate a ||* BoolRate b = BoolRate $ a B.||* b++-- IfB++ifB :: X a => BoolRate -> a -> a -> a+ifB (BoolRate c) a b = from $ B.ifB c (toCs a) (toCs b)++-- EqB++infix  4  ==*, /=*++biOp :: (K a, K b) => +       (La.CsTree -> La.CsTree -> CsBool) +    -> a -> b -> BoolRate+biOp op a b = BoolRate $ toCs a `op` toCs b+++(==*), (/=*) :: (K a, K b) => a -> b -> BoolRate++(==*) = biOp (B.==*)+(/=*) = biOp (B./=*)++-- OrdB++infix  4  <*, <=*, >=*, >*++(<*), (>*), (>=*), (<=*) :: (K a, K b) => a -> b -> BoolRate++(<*) = biOp (B.<*)+(>*) = biOp (B.>*)++(>=*) = biOp (B.>=*)+(<=*) = biOp (B.<=*)++-- aux++cond :: (Applicative f, K a) => f BoolRate -> f a -> f a -> f a+cond f a b = fmap from $ B.cond (fmap (\(BoolRate a) -> a) f) (fmap toCs a) (fmap toCs b)++crop :: (Applicative f, Monoid (f a), K a) => f BoolRate -> f a -> f a+crop f a = cond f a mempty+++minB, maxB :: K a => a -> a -> a++minB a b = ifB (a <=* b) a b+maxB a b = ifB (a >=* b) a b++
src/CsoundExpr/Base/Imperative.hs view
@@ -43,7 +43,8 @@ gir :: Name -> Irate gir = argIn GI                 - ++ fromArgIn :: (IM CsTree a) => a -> (Rate, Name) fromArgIn a   | isArg e = (argRate e, argName e)@@ -59,6 +60,7 @@                   class Assign a where+                   (<=>) :: a -> a -> SignalOut                                                                        
src/CsoundExpr/Base/Types.hs view
@@ -1,7 +1,10 @@+{-# LANGUAGE MultiParamTypeClasses, FlexibleInstances #-}+     module CsoundExpr.Base.Types      (X(..), K,      Arate, Krate, Irate, SignalOut, -     itime, idur, num, double, string)+     itime, idur, num, double, string+    ) where  import Text.PrettyPrint(Doc, vcat, text, space)@@ -56,5 +59,4 @@ instance Show SignalOut where     show x = show $ vcat [title , ppCsTrees $ fromSignalOut x]         where title = text "; SignalOut expression :"- 
src/CsoundExpr/Base/UserDefined.hs view
@@ -13,8 +13,8 @@  module CsoundExpr.Base.UserDefined     (IM(..), Opr2(..),  -     opcode, outOpcode, -     infixOperation, prefixOperation)+     opcode, outOpcode, operation,+     infixOperation, prefixOperation, unaryInfixOperation) where  import CsoundExpr.Translator.Cs.IM@@ -61,6 +61,19 @@ outOpcode :: String -> [CsTree] -> SignalOut outOpcode name = SignalOut . return . opcode name +-- | operation constructor+--+-- names can be anywhere between arguments+--+-- > operation names args +--+-- in csound code becomes+--+-- > names !! 0 ++ show (args !! 0) ++ names !! 1 ++ show (args !! 1) ++ ... +operation :: IM CsTree a => [String] -> [CsTree] -> a+operation names = from . pure (opr names) ++ -- | Infix operation constructor -- -- Example : @@ -70,8 +83,9 @@ -- > add :: (X a, X b, X (Opr2 a b)) => a -> b -> Opr2 a b -- > add a b = infixOperation "+" [to a, to b] --+ infixOperation :: IM CsTree a => String -> [CsTree] -> a-infixOperation name = from . pure (oprInfix name)+infixOperation name = from . pure (opr ["(", name, ")"])                        -- | Prefix operation constructor --@@ -83,8 +97,11 @@ -- > csSin a = prefixOperation "sin" [to a] -- prefixOperation :: IM CsTree a => String -> [CsTree] -> a-prefixOperation name = from . pure (oprPrefix name)+prefixOperation name = from . pure (opr [name ++ "(", ")"]) ++unaryInfixOperation :: IM CsTree a => String -> CsTree -> a+unaryInfixOperation name = from . pure (opr ["(" ++ name, ")"]) . return  -- | 'Opr2' @a@ @b@  - defines output type of binary arithmetic operator --
src/CsoundExpr/Translator/AssignmentElimination.hs view
@@ -98,7 +98,7 @@  oprArgOut     x = Just $ numArgName (toCsRate $ head $ rates x) (layerOut x) oprRateInfo   x = SingleOut $ toCsRate $ head $ rates x-oprBody     m x = ("=", [Cs.ArgInOpr (La.oprName $ op x) (toOprType $ La.oprType $ op x) args])+oprBody     m x = ("=", [Cs.ArgInOpr (La.oprName $ op x) args])     where args = map (substArg m) $ layerIn x  oprSubstTableValue m x = (oprRateInfo x, oprBody m x)
+ src/CsoundExpr/Translator/Cs/CsBoolean.hs view
@@ -0,0 +1,139 @@+{-# LANGUAGE MultiParamTypeClasses, TypeSynonymInstances #-}++module CsoundExpr.Translator.Cs.CsBoolean (CsBool) +where++import Data.Boolean+import CsoundExpr.Translator.Cs.CsTree+import CsoundExpr.Translator.ExprTree.ExprTree++----------------------------------------------+-- low level operations++mkAnd, mkOr :: CsTree -> CsTree -> CsTree++mkAnd a b = pure (oprInfix "&&") [a, b]+mkOr  a b = pure (oprInfix "||") [a, b]++mkComp :: CompOp -> CsTree -> CsTree -> CsTree+mkComp op a b = pure (oprInfix $ show op) [a, b]++mkIf :: CsTree -> CsTree -> CsTree -> CsTree+mkIf cond th el = pure ifOpr [cond, th, el]++oprInfix :: Name -> CsExpr+oprInfix name = opr ["(", name, ")"]++ifOpr :: CsExpr +ifOpr = opr ["(", "?", ":",")"]++-------------------------------------------------+-- Booleans++data CsBool = CsBPrim CsComp+            | CsTrue +            | CsFalse +            | CsNot CsBool +            | CsAnd CsBool CsBool +            | CsOr CsBool CsBool++data CsComp = CsComp CompOp CsTree CsTree++data CompOp = CsEq | CsNeq | CsLt | CsGt | CsElt | CsEgt++instance Show CompOp where+    show x = case x of+                CsEq  -> "=="+                CsNeq -> "!="+                CsLt  -> "<"+                CsGt  -> ">"+                CsElt -> "<="+                CsEgt -> ">="++notCompOp :: CompOp -> CompOp+notCompOp x = case x of+                CsEq  -> CsNeq+                CsNeq -> CsEq+                CsLt  -> CsEgt+                CsGt  -> CsElt+                CsElt -> CsGt+                CsEgt -> CsLt++instance Boolean CsBool where+    true    = CsTrue+    false   = CsFalse+    notB    = CsNot++    a &&* b = case (a, b) of+                (CsTrue,  _)  -> b+                (CsFalse, _)  -> CsFalse+                (_, CsTrue )  -> a+                (_, CsFalse)  -> CsFalse+                _             -> CsAnd a b++    a ||* b = case (a, b) of+                (CsTrue,  _)  -> CsTrue+                (CsFalse, _)  -> b+                (_, CsTrue )  -> CsTrue+                (_, CsFalse)  -> a+                _             -> CsOr a b+++------------------------------------------------------+-- nots elimination++data Ctx = N | P++elimNots :: Ctx -> CsBool -> CsBool+elimNots P x = +    case x of+        CsNot a   -> elimNots N a+        CsAnd a b -> CsAnd (elimNots P a) (elimNots P b)+        CsOr  a b -> CsOr  (elimNots P a) (elimNots P b)    +        _         -> x++elimNots N x =+    case x of+        CsBPrim (CsComp op a b) -> CsBPrim (CsComp (notCompOp op) a b)+        CsTrue                  -> CsFalse+        CsFalse                 -> CsTrue+        CsNot a                 -> elimNots P a+        CsAnd a b               -> CsOr  (elimNots N a) (elimNots N b)+        CsOr  a b               -> CsAnd (elimNots N a) (elimNots N b)++---------------------------------------------------++instance IfB CsBool CsTree where+    ifB cond a b = let cond' = elimNots P cond +                   in  case cond' of+                          CsTrue  -> a+                          CsFalse -> b+                          CsNot c -> ifB c b a+                          _       -> mkIf (getCondCsTree cond') a b+++getCondCsTree :: CsBool -> CsTree+getCondCsTree x = +    case x of+        CsBPrim a -> getCompCsTree a+        CsAnd a b -> mkAnd (getCondCsTree a) (getCondCsTree b)+        CsOr  a b -> mkOr  (getCondCsTree a) (getCondCsTree b)++getCompCsTree :: CsComp -> CsTree+getCompCsTree (CsComp op a b) = mkComp op a b+++bOp :: CompOp -> CsTree -> CsTree -> CsBool+bOp op a b = CsBPrim $ CsComp op a b+++instance EqB CsBool CsTree where+    (==*) = bOp CsEq+    (/=*) = bOp CsNeq+++instance OrdB CsBool CsTree where+    (<*)  = bOp CsLt+    (>*)  = bOp CsGt+    (<=*) = bOp CsElt+    (>=*) = bOp CsEgt
src/CsoundExpr/Translator/Cs/CsTree.hs view
@@ -7,9 +7,9 @@   -- types      CsTree,       Rate(..), CsExpr(..),-     Value(..), OprType(..), Ftable(..), GEN(..), Name, Label,+     Value(..), Ftable(..), GEN(..), Name, Label,   -- constructors-     opc, oprPrefix, oprInfix,+     opc, opr,       int, double, string, ftable, param,      argIn, argOut,   -- predicates@@ -18,7 +18,7 @@      equalStructure, equalStructureByParams,    -- selectors      toFtable, ftableGENArgs, ftableSize, ftableGENId, getFtable, -     mapFtable, toDouble, opcName, oprName, oprType, paramId, value, +     mapFtable, toDouble, opcName, oprName, paramId, value,       argName, argRate     ) where@@ -44,20 +44,16 @@             | Param Id             | Arg Rate Name             | Opc Name-            | Opr Name OprType+            | Opr [Name]  		deriving (Show, Eq, Ord)   data Value = ValueInt Int            | ValueDouble Double            | ValueString String-	   | ValueFtable Ftable+	       | ValueFtable Ftable 		deriving (Show, Eq, Ord) -data OprType = Infix | Prefix-             deriving (Show, Eq, Ord)-- data Ftable = EmptyFtable             | Ftable Size GEN               deriving (Show, Eq, Ord)@@ -65,11 +61,6 @@ data GEN = GEN Id [CsTree]          deriving (Show, Eq, Ord) -----type Id   = Int---type Size = Int- type Name  = String type Label = Int @@ -116,11 +107,8 @@ opc :: Name -> CsExpr opc = Opc  -oprPrefix :: Name -> CsExpr-oprPrefix = flip Opr Prefix--oprInfix :: Name -> CsExpr-oprInfix = flip Opr Infix+opr :: [Name] -> CsExpr+opr = Opr  ------------------------------------------ -- CsTree Selectors@@ -157,15 +145,10 @@               (Opc x) -> x               _       -> error "expr is no Opc"  -oprName :: CsExpr -> Name+oprName :: CsExpr -> [Name] oprName x = case x of-              (Opr x _) -> x-              _         -> error "expr is no Opr" --oprType :: CsExpr -> OprType-oprType x = case x of-              (Opr _ x) -> x-              _         -> error "expr is no Opr" +              (Opr x) -> x+              _       -> error "expr is no Opr"    argName :: CsExpr -> Name@@ -224,8 +207,8 @@  isOpr :: CsExpr -> Bool isOpr x = case x of-            (Opr _  _) -> True-            _          -> False+            (Opr _) -> True+            _       -> False  isArg :: CsExpr -> Bool isArg x = case x of
src/CsoundExpr/Translator/Cs/CsoundFile.hs view
@@ -2,7 +2,7 @@     CsoundFile(..),     Flags, Orchestra(..), Scores(..),     Value(..), Rate(..), ArgName(..), Param(..),-    Header(..), Instr(..), OpcodeExpr(..), ArgOut, ArgIn(..), OprType(..),+    Header(..), Instr(..), OpcodeExpr(..), ArgOut, ArgIn(..),      Ftable(..), FtableInits(..), GEN(..), TotalDuration(..), Note(..), NoteInits(..),     defTempo )@@ -53,12 +53,9 @@ data ArgIn = ArgInName ArgName            | ArgInParam Param            | ArgInValue Value-           | ArgInOpr Name OprType [ArgIn]+           | ArgInOpr [Name] [ArgIn]              deriving (Eq, Ord) -data OprType = Infix | Prefix-               deriving (Eq, Ord)- -- Scores subtypes data Ftable = Ftable Id FtableInits GEN @@ -253,23 +250,19 @@     show (ArgInParam x) = show x     show (ArgInValue x) = show x -- operators-    show (ArgInOpr op opType xs) = printOperator op opType xs---        if (Map.member op operators)---        then ---        else error "no such operator"-           -printOperator :: Name -> OprType -> [ArgIn] -> String-printOperator op desc args = -    case desc of-      Prefix -> show $ opStr <> (parens $ hcat $ argsStr)              -      Infix  -> show $ parens $ hcat $ punctuate space [arg1Str, opStr, arg2Str]-    where opStr   = text op-          argsStr = punctuate (comma <> space) $ map (text . show) args-          (arg1Str, arg2Str) = -              if length args == 1-              then (text "", parens $ text $ show $ head args)-              else (text $ show (args !! 0), text $ show (args !! 1))-                                      +    show (ArgInOpr op xs) = printOperator op xs+          +printOperator :: [Name] -> [ArgIn] -> String+printOperator op args = show $ hcat $ mergeLists opDoc argsDoc+    where argsDoc = map (text . show) args+          opDoc   = map text op++mergeLists :: [a] -> [a] -> [a]+mergeLists x x' = case (x, x') of+                    ([],      _) -> x'+                    (_ ,     []) -> x+                    (a:as, b:bs) -> a : b : mergeLists as bs+  ---------------------------------------------------- ----------------------------------------------------
src/CsoundExpr/Translator/Types.hs view
@@ -15,7 +15,8 @@    SignalOut(..), outList, fromSignalOut,    Header, SignalInit(..),    Arate(..), Krate(..), Irate(..), X(..), K(..), MO(..),-   toValue, toCsRate, gRate, isArgOut, toOprType+   BoolRate(..), +   toValue, toCsRate, gRate, isArgOut  ) where @@ -26,6 +27,7 @@ import CsoundExpr.Translator.Cs.IM import qualified CsoundExpr.Translator.Cs.CsTree     as La import qualified CsoundExpr.Translator.Cs.CsoundFile as Cs+import CsoundExpr.Translator.Cs.CsBoolean   type Time = Double type Dur  = Time@@ -80,6 +82,10 @@ -- | init variable data Irate = Irate La.CsTree ++-- | boolean signal. Type for comparison of control or init rate signals.+data BoolRate = BoolRate CsBool+ -- rate classes  -- IM@@ -132,16 +138,16 @@ instance X Arate where 	arate = id 	krate = from . pure (La.opc "downsamp") . return . toCsTree-	irate = from . pure (La.oprPrefix "i")  . return . toCsTree . krate +	irate = from . pure (La.opr ["i(", ")"])  . return . toCsTree . krate   instance X Krate where 	arate = from . pure (La.opc "upsamp") . return . toCsTree 	krate = id-	irate = from . pure (La.oprPrefix "i") . return . toCsTree+	irate = from . pure (La.opr ["i(", ")"]) . return . toCsTree 	 instance X Irate where 	arate = from . pure (La.opc "upsamp")  . return . toCsTree-	krate = from . pure (La.oprPrefix "k") . return . toCsTree+	krate = from . pure (La.opr ["k(", ")"]) . return . toCsTree 	irate = id  toCsTree :: X a => a -> La.CsTree@@ -226,10 +232,4 @@             Cs.A -> Cs.GA             Cs.K -> Cs.GK             Cs.I -> Cs.GI--toOprType :: La.OprType -> Cs.OprType-toOprType x = case x of-                La.Infix  -> Cs.Infix-                La.Prefix -> Cs.Prefix- 
src/CsoundExpr/Tutorial/Orchestra.hs view
@@ -25,7 +25,7 @@     Signals are represented with trees. Tree contains information about how      signal was build.      -    There are four types for signals ("CsoundExpr.Base.Types").+    There are five types for signals ("CsoundExpr.Base.Types").      'Arate' is audio rate signal @@ -34,6 +34,8 @@     'Irate' is init value         'SignalOut' is no output at all (it's produced by opcodes like out, outs, xtratim) ++    'BoolRate' is comparision of two control or init rate signals           There are two classes to allow csound's polymorphism : 'X' and 'K'