wx-controls-extra-0.0: A set of custom widgets for wxHaskell.ContentsIndex
Data.Envelope
Description
An envelope made up from linear or cubic bezier segments. (The word "envelope" is understood as in ADSR.)
Synopsis
first :: (a -> b) -> (a, c) -> (b, c)
second :: (b -> c) -> (a, b) -> (a, c)
data SegmentType
= LinearS
| CubicS
data EnvSegment a = EnvSegment {
es_type :: SegmentType
es_left :: a
es_ctrl1 :: a
es_ctrl2 :: a
es_right :: a
}
isCubic :: EnvSegment a -> Bool
isLinear :: EnvSegment a -> Bool
flipType :: EnvSegment a -> EnvSegment a
type Envelope' t a = [(EnvSegment a, t)]
data Envelope t a = Envelope Int (Envelope' t a)
tmap :: (t -> t) -> Envelope' t a -> Envelope' t a
nthTimePoint :: Num t => Int -> Envelope' t a -> t
nthEndpoint :: Floating t => Int -> Envelope' t a -> (t, a)
nthControl :: Floating t => Int -> Int -> Envelope' t a -> (t, a)
liftEnv :: (Envelope' t a -> Envelope' t a) -> Envelope t a -> Envelope t a
updateNthEndpoint :: Int -> (t, a) -> Envelope' t a -> Envelope' t a
updateNthControl :: (Int, Int) -> a -> Envelope' t a -> Envelope' t a
updateNumberOfSegments :: Floating t => Int -> Envelope t a -> Envelope t a
calcEnvelopeSegment :: Floating a => a -> EnvSegment a -> a
calcEnvelope' :: RealFloat a => a -> Envelope' a a -> a
calcEnvelope :: RealFloat a => a -> Envelope a a -> a
defaultSegment' :: a -> EnvSegment a
Documentation
first :: (a -> b) -> (a, c) -> (b, c)
second :: (b -> c) -> (a, b) -> (a, c)
data SegmentType
Constructors
LinearS
CubicS
show/hide Instances
data EnvSegment a
Constructors
EnvSegment
es_type :: SegmentType
es_left :: a
es_ctrl1 :: a
es_ctrl2 :: a
es_right :: a
show/hide Instances
isCubic :: EnvSegment a -> Bool
isLinear :: EnvSegment a -> Bool
flipType :: EnvSegment a -> EnvSegment a
type Envelope' t a = [(EnvSegment a, t)]
An envelope on the interval [0,1], made up from (scaled) segments.
data Envelope t a
Constructors
Envelope Int (Envelope' t a)
show/hide Instances
(Read t, Read a) => Read (Envelope t a)
(Show t, Show a) => Show (Envelope t a)
tmap :: (t -> t) -> Envelope' t a -> Envelope' t a
nthTimePoint :: Num t => Int -> Envelope' t a -> t
nthEndpoint :: Floating t => Int -> Envelope' t a -> (t, a)
nthControl :: Floating t => Int -> Int -> Envelope' t a -> (t, a)
liftEnv :: (Envelope' t a -> Envelope' t a) -> Envelope t a -> Envelope t a
updateNthEndpoint :: Int -> (t, a) -> Envelope' t a -> Envelope' t a
updateNthControl :: (Int, Int) -> a -> Envelope' t a -> Envelope' t a
updateNumberOfSegments :: Floating t => Int -> Envelope t a -> Envelope t a
calcEnvelopeSegment :: Floating a => a -> EnvSegment a -> a
Computes the value of an envelope segment at a 0<=t<=1.
calcEnvelope' :: RealFloat a => a -> Envelope' a a -> a
Computes the value of an envelope at a 0<=t<=1.
calcEnvelope :: RealFloat a => a -> Envelope a a -> a
defaultSegment' :: a -> EnvSegment a
Produced by Haddock version 2.4.1