Special case of Temporal.Media. Time is Double
- type Dur = Double
- none :: Temporal Dur a => Dur -> a
- dur :: Temporal Dur a => a -> Dur
- stretch :: Stretchable Dur a => Dur -> a -> a
- class ToMaybe m where
- tmap :: TemporalFunctor Dur f => (Time -> a -> b) -> f a -> f b
- dmap :: TemporalFunctor Dur f => (Dur -> a -> b) -> f a -> f b
- tdmap :: TemporalFunctor Dur f => (Time -> Dur -> a -> b) -> f a -> f b
- sustain :: Sustainable Dur f => Dur -> f a -> f a
- sustainBy :: Sustainable Dur f => (Dur -> Dur -> a -> (b, Dur)) -> f a -> f b
- tstretch :: TemporalStretchable Dur a => (Time -> Dur) -> a -> a
- class Reversible a where
- reverse :: a -> a
- slice :: Sliceable Dur a => Dur -> Dur -> a -> a
- take :: Sliceable Dur a => Dur -> a -> a
- drop :: Sliceable Dur a => Dur -> a -> a
- cut :: (Reversible a, Sliceable Dur a) => Dur -> Dur -> a -> a
- class Construct m where
- prim :: a -> m a
- class Arrangeable a where
- class Controlable c a where
- control :: c -> a -> a
- sequent :: Arrangeable a => [a] -> a
- parallel :: Arrangeable a => [a] -> a
- loop :: Arrangeable a => Int -> a -> a
- delay :: (Temporal Dur a, Arrangeable a) => Dur -> a -> a
- temp :: (Construct m, Temporal Dur (m a), Stretchable Dur (m a)) => Dur -> a -> m a
- data Media c a
- fold :: (a -> b) -> (b -> b -> b) -> (b -> b -> b) -> (c -> b -> b) -> Media c a -> b
- fromMedia :: Arrangeable b => (a -> b) -> (c -> b -> b) -> Media c a -> b
- type Event a = Event Dur a
- type EventList a = EventList Dur a
- mapEvent :: (a -> b) -> Event a -> Event b
- toEvent :: (Temporal Dur (m a), ToMaybe m) => m a -> EventList a
- toEventList :: (Temporal Dur (m a), ToMaybe m) => (c -> EventList a -> EventList a) -> Media c (m a) -> EventList a
- type MediaUnit c a = MediaUnit Dur c a
- unMediaUnit :: MediaUnit c a -> Media c (Unit a)
- foldU :: (Dur -> a -> b) -> (b -> b -> b) -> (b -> b -> b) -> (c -> b -> b) -> MediaUnit c a -> Maybe b
- fromMediaUnit :: (c -> EventList a -> EventList a) -> MediaUnit c a -> EventList a
- type Unit a = Unit Dur a
- tmapRel :: (Temporal Dur (f a), TemporalFunctor Dur f) => (Time -> a -> b) -> f a -> f b
- dmapRel :: (Temporal Dur (f a), TemporalFunctor Dur f) => (Dur -> a -> b) -> f a -> f b
- tdmapRel :: (Temporal Dur (f a), TemporalFunctor Dur f) => (Time -> Dur -> a -> b) -> f a -> f b
- tstretchRel :: TemporalStretchable Dur a => (Time -> Dur) -> a -> a
- linseg :: (Ord t, Fractional t) => [t] -> t -> t
Time classes
stretch :: Stretchable Dur a => Dur -> a -> aSource
tmap :: TemporalFunctor Dur f => (Time -> a -> b) -> f a -> f bSource
dmap :: TemporalFunctor Dur f => (Dur -> a -> b) -> f a -> f bSource
tdmap :: TemporalFunctor Dur f => (Time -> Dur -> a -> b) -> f a -> f bSource
sustain :: Sustainable Dur f => Dur -> f a -> f aSource
tstretch :: TemporalStretchable Dur a => (Time -> Dur) -> a -> aSource
temporal stretch
Transformers
class Reversible a whereSource
Dur t => Reversible (Unit t a) | |
Reversible a => Reversible (Media c a) | |
Dur t => Reversible (MediaUnit t c a) |
Structure
constructor for generic structures
class Arrangeable a whereSource
composing structures in sequent and parallel ways
Dur t => Arrangeable (EventList t a) | |
Arrangeable (Media c a) | |
Dur t => Arrangeable (MediaUnit t c a) |
class Controlable c a whereSource
modifer
Dur t => Controlable () (EventList t a) | |
Controlable c (Media c a) | |
Dur t => Controlable c (MediaUnit t c a) |
sequent :: Arrangeable a => [a] -> aSource
parallel :: Arrangeable a => [a] -> aSource
loop :: Arrangeable a => Int -> a -> aSource
Media
Data type to represent temporal media
Prim a | single value |
(Media c a) :+: (Media c a) | sequential composition |
(Media c a) :=: (Media c a) | parallel composition |
Control c (Media c a) | specific environment modifier |
Controlable c (Media c a) | |
Sliceable t a => Sliceable t (Media c a) | |
Stretchable t a => TemporalStretchable t (Media c a) | |
Stretchable t a => Stretchable t (Media c a) | |
Temporal t a => Temporal t (Media c a) | |
Monad (Media c) | |
Functor (Media c) | |
Applicative (Media c) | |
Construct (Media c) | |
(Eq c, Eq a) => Eq (Media c a) | |
(Show c, Show a) => Show (Media c a) | |
Arrangeable (Media c a) | |
Reversible a => Reversible (Media c a) |
fromMedia :: Arrangeable b => (a -> b) -> (c -> b -> b) -> Media c a -> bSource
Simple interperetation
Event list
toEventList :: (Temporal Dur (m a), ToMaybe m) => (c -> EventList a -> EventList a) -> Media c (m a) -> EventList aSource
Unit Media
unMediaUnit :: MediaUnit c a -> Media c (Unit a)Source
foldU :: (Dur -> a -> b) -> (b -> b -> b) -> (b -> b -> b) -> (c -> b -> b) -> MediaUnit c a -> Maybe bSource
Misc
tdmapRel :: (Temporal Dur (f a), TemporalFunctor Dur f) => (Time -> Dur -> a -> b) -> f a -> f bSource
tstretchRel :: TemporalStretchable Dur a => (Time -> Dur) -> a -> aSource
linseg :: (Ord t, Fractional t) => [t] -> t -> tSource
linear interpolation
linseg [a, da, b, db, c, ... ]
a, b, c ...
- values
da, db, ...
- duration of segments