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

Safe HaskellNone
LanguageHaskell2010

Synthesizer.Zip

Synopsis

Documentation

data T a b Source #

Parallel combination of two signals of equal length.

Constructors

Cons 

Fields

Instances

(Semigroup a, Semigroup b) => Semigroup (T a b) Source # 

Methods

(<>) :: T a b -> T a b -> T a b #

sconcat :: NonEmpty (T a b) -> T a b #

stimes :: Integral b => b -> T a b -> T a b #

(Monoid a, Monoid b) => Monoid (T a b) Source # 

Methods

mempty :: T a b #

mappend :: T a b -> T a b -> T a b #

mconcat :: [T a b] -> T a b #

(Transform a, Transform b) => Transform (T a b) Source # 

Methods

take :: Int -> T a b -> T a b Source #

drop :: Int -> T a b -> T a b Source #

dropMarginRem :: Int -> Int -> T a b -> (Int, T a b) Source #

splitAt :: Int -> T a b -> (T a b, T a b) Source #

reverse :: T a b -> T a b Source #

(NormalForm a, NormalForm b) => NormalForm (T a b) Source # 

Methods

evaluateHead :: T a b -> () Source #

(Read a, Read b) => Read (T a b) Source # 

Methods

null :: T a b -> Bool Source #

length :: T a b -> Int Source #

consChecked :: (Read a, Read b) => String -> a -> b -> T a b Source #

Zip together two signals. It is a checked error if their lengths differ.

consShorten :: (Transform a, Transform b) => a -> b -> T a b Source #

Zip together two signals and shorten them to the length of the shorter one.

arrowFirst :: Arrow arrow => arrow a b -> arrow (T a c) (T b c) Source #

arrowSecond :: Arrow arrow => arrow a b -> arrow (T c a) (T c b) Source #

arrowFirstShorten :: (Arrow arrow, Transform b, Transform c) => arrow a b -> arrow (T a c) (T b c) Source #

arrowSecondShorten :: (Arrow arrow, Transform b, Transform c) => arrow a b -> arrow (T c a) (T c b) Source #

arrowFanout :: Arrow arrow => arrow a b -> arrow a c -> arrow a (T b c) Source #

arrowSplit :: Arrow arrow => arrow a c -> arrow b d -> arrow (T a b) (T c d) Source #

arrowFanoutShorten :: (Arrow arrow, Transform a, Transform b, Transform c) => arrow a b -> arrow a c -> arrow a (T b c) Source #

arrowSplitShorten :: (Arrow arrow, Transform a, Transform b, Transform c, Transform d) => arrow a c -> arrow b d -> arrow (T a b) (T c d) Source #