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

Safe HaskellNone





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


Eq a => Eq (NoteBoundary a) 
Show a => Show (NoteBoundary a) 

data Note Source


case_ :: Maybe a -> (a -> b) -> Maybe bSource

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