synthesizer-core-0.5.2: Audio signal processing coded in Haskell: Low level part

Safe HaskellNone

Synthesizer.CausalIO.Gate

Synopsis

Documentation

data Chunk a Source

Chunk represents a chunk of a Gate signal.

It means (Chunk chunkDuration sustainDuration).

sustainDuration means: Just (t,a) - key is released at time t with attribute a, e.g. the note-off-velocity, t must be smaller than chunkDuration! Nothing - key is in pressed or released state over the whole chunk

Constructors

Chunk StrictTime (Maybe (StrictTime, a)) 

Instances

chunk :: StrictTime -> Maybe (StrictTime, a) -> Chunk aSource

smart constructor that checks the time constraints

shorten :: Transform signal => T (T (Chunk a) signal) signalSource

Pass the second signal while the gate is open.

For completeness we would need a data type analogously to ChunkySize, that measures signal duration in CausalIO processes. shorten could then be written as

 shorten = Zip.second ^<< Zip.arrowFirstShort Gate.toChunkySize