Safe Haskell | None |
---|---|
Language | Haskell98 |
Patches.
- type CsdNote = (D, D)
- type Instr a = CsdNote -> SE a
- type Fx a = a -> SE a
- type Fx1 = Fx Sig
- type Fx2 = Fx Sig2
- data FxSpec a = FxSpec {
- fxMix :: DryWetRatio
- fxFun :: Fx a
- type DryWetRatio = Sig
- type Patch1 = Patch Sig
- type Patch2 = Patch Sig2
- data Patch a = Patch {
- patchInstr :: Instr a
- patchFx :: [FxSpec a]
- getPatchFx :: (SigSpace a, Sigs a) => Patch a -> Fx a
- dryPatch :: Patch a -> Patch a
- atMix :: Sig -> Patch a -> Patch a
- atMixes :: [Sig] -> Patch a -> Patch a
- atMidi :: (SigSpace a, Sigs a) => Patch a -> SE a
- atSched :: (SigSpace a, Sigs a) => Patch a -> Evt (Sco CsdNote) -> SE a
- atSchedUntil :: (SigSpace a, Sigs a) => Patch a -> Evt CsdNote -> Evt b -> SE a
- atSco :: (SigSpace a, Sigs a) => Patch a -> Sco CsdNote -> Sco (Mix a)
- atNote :: (SigSpace a, Sigs a) => Patch a -> CsdNote -> SE a
- addInstrFx :: Fx a -> Patch a -> Patch a
- addPreFx :: DryWetRatio -> Fx a -> Patch a -> Patch a
- addPostFx :: DryWetRatio -> Fx a -> Patch a -> Patch a
- harmonPatch :: (SigSpace a, Sigs a) => [Sig] -> [D] -> Patch a -> Patch a
- deepPad :: (SigSpace a, Sigs a) => Patch a -> Patch a
- patchWhen :: Sigs a => BoolSig -> Patch a -> Patch a
- mixInstr :: (SigSpace a, Num a) => Sig -> Patch a -> Patch a -> Patch a
Documentation
A simple csound note (good for playing with midi-keyboard). It's a pair of amplitude (0 to 1) and freuqncy (Hz).
type DryWetRatio = Sig Source
A patch. It's an instrument, an effect and default dry/wet ratio.
Patch | |
|
getPatchFx :: (SigSpace a, Sigs a) => Patch a -> Fx a Source
Transforms all the effects for the given patch into a single function.
Midi
atMidi :: (SigSpace a, Sigs a) => Patch a -> SE a Source
Plays a patch with midi. Supplies a custom value for mixing effects (dry/wet). The 0 is a dry signal, the 1 is a wet signal.
Events
atSched :: (SigSpace a, Sigs a) => Patch a -> Evt (Sco CsdNote) -> SE a Source
Plays a patch with event stream. Supplies a custom value for mixing effects (dry/wet). The 0 is a dry signal, the 1 is a wet signal.
Sco
atSco :: (SigSpace a, Sigs a) => Patch a -> Sco CsdNote -> Sco (Mix a) Source
Plays a patch with scores. Supplies a custom value for mixing effects (dry/wet). The 0 is a dry signal, the 1 is a wet signal.
Single note
Fx
addInstrFx :: Fx a -> Patch a -> Patch a Source
Adds an effect to the patch's instrument.
addPreFx :: DryWetRatio -> Fx a -> Patch a -> Patch a Source
Appends an effect before patch's effect.
addPostFx :: DryWetRatio -> Fx a -> Patch a -> Patch a Source
Appends an effect after patch's effect.