synthesizer-midi-0.6.1.1: Render audio signals from MIDI files or realtime messages

Safe HaskellNone
LanguageHaskell2010

Synthesizer.MIDI.PiecewiseConstant.ControllerSet

Contents

Description

Treat a stream of MIDI events as parallel streams of MIDI controller events.

Synopsis

Documentation

data T key a Source #

Constructors

Cons (Map key a) (T StrictTime [(key, a)]) 
Instances
(Show key, Show a) => Show (T key a) Source # 
Instance details

Defined in Synthesizer.MIDI.PiecewiseConstant.ControllerSet

Methods

showsPrec :: Int -> T key a -> ShowS #

show :: T key a -> String #

showList :: [T key a] -> ShowS #

Semigroup (T key y) Source # 
Instance details

Defined in Synthesizer.MIDI.PiecewiseConstant.ControllerSet

Methods

(<>) :: T key y -> T key y -> T key y #

sconcat :: NonEmpty (T key y) -> T key y #

stimes :: Integral b => b -> T key y -> T key y #

Monoid (T key y) Source # 
Instance details

Defined in Synthesizer.MIDI.PiecewiseConstant.ControllerSet

Methods

mempty :: T key y #

mappend :: T key y -> T key y -> T key y #

mconcat :: [T key y] -> T key y #

Read (T key a) Source # 
Instance details

Defined in Synthesizer.MIDI.PiecewiseConstant.ControllerSet

Methods

null :: T key a -> Bool #

length :: T key a -> Int #

(NFData key, NFData a) => NormalForm (T key a) Source # 
Instance details

Defined in Synthesizer.MIDI.PiecewiseConstant.ControllerSet

Methods

evaluateHead :: T key a -> () #

Ord key => Transform (T key y) Source #

For reverse you must make sure, that all controller events have an corresponding initial value. Controllers that miss an initial value their last constant piece will be undefined.

Instance details

Defined in Synthesizer.MIDI.PiecewiseConstant.ControllerSet

Methods

take :: Int -> T key y -> T key y #

drop :: Int -> T key y -> T key y #

dropMarginRem :: Int -> Int -> T key y -> (Int, T key y) #

splitAt :: Int -> T key y -> (T key y, T key y) #

reverse :: T key y -> T key y #

mapStream :: (T StrictTime [(key, a)] -> T StrictTime [(key, a)]) -> T key a -> T key a Source #

fromChannel :: C event => Channel -> Filter event (T Controller Int) Source #

maybeController :: C event => Channel -> event -> Maybe (Controller, Int) Source #

controllerLinear :: C y => Controller -> (y, y) -> y -> Filter (T y) Source #

controllerExponential :: C y => Controller -> (y, y) -> y -> Filter (T y) Source #

pitchBend :: C y => y -> y -> Filter (T y) Source #

pitchBend channel range center: emits frequencies on an exponential scale from center/range to center*range.

channelPressure :: C y => y -> y -> Filter (T y) Source #

bendWheelPressure :: (C y, C y) => Int -> y -> y -> Filter (T (T y)) Source #

bendWheelPressureZip :: (C y, C y) => Int -> y -> y -> Filter (T (T y)) Source #

internal data needed in synthesizer-llvm

initial :: T key a -> Map key a Source #

stream :: T key a -> T StrictTime [(key, a)] Source #