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

Safe HaskellNone
LanguageHaskell2010

Synthesizer.MIDI.EventList

Contents

Synopsis

Documentation

event filters

type Filter event = State (T StrictTime [event]) Source #

getSlice :: (event -> Maybe a) -> Filter event (T StrictTime [a]) Source #

We turn the strict time values into lazy ones according to the breaks by our beat. However for the laziness breaks we ignore the events that are filtered out. That is we loose laziness granularity but hopefully gain efficiency by larger blocks.

data NoteBoundary a Source #

Instances
Eq a => Eq (NoteBoundary a) Source # 
Instance details

Defined in Synthesizer.MIDI.EventList

Show a => Show (NoteBoundary a) Source # 
Instance details

Defined in Synthesizer.MIDI.EventList

data Note Source #

Instances
Eq Note Source # 
Instance details

Defined in Synthesizer.MIDI.EventList

Methods

(==) :: Note -> Note -> Bool #

(/=) :: Note -> Note -> Bool #

Show Note Source # 
Instance details

Defined in Synthesizer.MIDI.EventList

Methods

showsPrec :: Int -> Note -> ShowS #

show :: Note -> String #

showList :: [Note] -> ShowS #

case_ :: Maybe a -> (a -> b) -> Maybe b Source #

matchNoteEventsCore :: (noteBnd -> Maybe (noteBnd -> Bool, LazyTime -> Note)) -> T StrictTime [noteBnd] -> T StrictTime [Note] Source #

durationRemove :: C time => (body -> Bool) -> T time [body] -> (T time, T time [body]) Source #

Search for specific event, return its time stamp and remove it.

durationRemoveTB :: C time => (body -> Bool) -> T time [body] -> (T time, T time [body]) Source #