Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data Chunk a = Chunk StrictTime (Maybe (StrictTime, a))
- chunk :: StrictTime -> Maybe (StrictTime, a) -> Chunk a
- allToStorableVector :: Arrow arrow => arrow (Chunk a) (Vector ())
- toStorableVector :: T (Chunk a) (Vector ())
- allToChunkySize :: Arrow arrow => arrow (Chunk a) LazySize
- toChunkySize :: T (Chunk a) LazySize
- shorten :: Transform signal => T (T (Chunk a) signal) signal
Documentation
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
Chunk StrictTime (Maybe (StrictTime, a)) |
chunk :: StrictTime -> Maybe (StrictTime, a) -> Chunk a Source #
smart constructor that checks the time constraints
shorten :: Transform signal => T (T (Chunk a) signal) signal Source #
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