synthesizer-midi-0.6.1.2: Render audio signals from MIDI files or realtime messages
Safe HaskellSafe-Inferred
LanguageHaskell2010

Synthesizer.MIDI.EventList

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

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

Defined in Synthesizer.MIDI.EventList

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

Defined in Synthesizer.MIDI.EventList

data Note Source #

Instances

Instances details
Show Note Source # 
Instance details

Defined in Synthesizer.MIDI.EventList

Methods

showsPrec :: Int -> Note -> ShowS #

show :: Note -> String #

showList :: [Note] -> ShowS #

Eq Note Source # 
Instance details

Defined in Synthesizer.MIDI.EventList

Methods

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

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

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 #