Copyright | (c) Henning Thielemann 2006 |
---|---|
License | GPL |
Maintainer | synthesizer@henning-thielemann.de |
Stability | provisional |
Portability | requires multi-parameter type classes |
Safe Haskell | None |
Language | Haskell2010 |
Synthesizer.State.Cut
Contents
Description
- takeUntilPause :: C a => a -> Int -> T a -> T a
- takeUntilInterval :: (a -> Bool) -> Int -> T a -> T a
- chopStorable :: Storable a => T Bool -> T a -> [T a]
- chopChunkySize :: T Bool -> T -> [T]
- selectBool :: (T a, T a) -> T Bool -> T a
- select :: Ix i => Array i (T a) -> T i -> T a
- arrange :: C v => T Int (T v) -> T v
- arrangeList :: C v => T Int (T v) -> T v
dissection
takeUntilPause :: C a => a -> Int -> T a -> T a Source #
Take signal until it falls short of a certain amplitude for a given time.
takeUntilInterval :: (a -> Bool) -> Int -> T a -> T a Source #
Take values until the predicate p holds for n successive values. The list is truncated at the beginning of the interval of matching values.
chopStorable :: Storable a => T Bool -> T a -> [T a] Source #
Split a storable signal into a sequence of signals.
A new piece is started whenever the Boolean signal contains a True
.
The first piece in the result is the part from the beginning until the first True
.
That is, if the signal Bool
starts with a True
,
then the first result piece is empty.
When the control signal is at least as long as the storable signal and if we neglect the chunking structure, then it holds
concat (chopStorable bs xs) == xs
glueing
Arguments
:: C v | |
=> T Int (T v) | A list of pairs: (relative start time, signal part), The start time is relative to the start time of the previous event. |
-> T v | The mixed signal. |
Given a list of signals with time stamps, mix them into one signal as they occur in time. Ideally for composing music.
Cf. series