reactive-midyim-0.2: Process MIDI events via reactive-banana

Safe HaskellNone

Reactive.Banana.MIDI.Note

Synopsis

Documentation

data Boundary key value Source

Constructors

Boundary key value Bool 

Instances

(Eq key, Eq value) => Eq (Boundary key value) 
(Show key, Show value) => Show (Boundary key value) 

data BoundaryExt key value Source

Constructors

BoundaryExt (Boundary key value) 
AllOff (key -> Bool)

The predicate shall return True, if a certain key shall be released by the AllOff statement. E.g. the predicate might check for the appropriate channel.

class C x => Make x whereSource

Methods

make :: C msg => x -> Velocity -> Bool -> msgSource

fromBnd :: (Make key, VelocityField value, C msg) => Boundary key value -> msgSource

transpose :: Int -> Boundary PitchChannel v -> Maybe (Boundary PitchChannel v)Source

Pitch.C a note event by the given number of semitones. Non-note events are returned without modification. If by transposition a note leaves the range of representable MIDI notes, then we return Nothing.

reverse :: Boundary PitchChannel v -> Maybe (Boundary PitchChannel v)Source

Swap order of keys. Non-note events are returned without modification. If by reversing a note leaves the range of representable MIDI notes, then we return Nothing.