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

Safe HaskellNone
LanguageHaskell98

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) Source # 

Methods

(==) :: Boundary key value -> Boundary key value -> Bool #

(/=) :: Boundary key value -> Boundary key value -> Bool #

(Show key, Show value) => Show (Boundary key value) Source # 

Methods

showsPrec :: Int -> Boundary key value -> ShowS #

show :: Boundary key value -> String #

showList :: [Boundary key value] -> ShowS #

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 where Source #

Minimal complete definition

make

Methods

make :: C msg => x -> Velocity -> Bool -> msg Source #

Instances

Make Pitch Source # 

Methods

make :: C msg => Pitch -> Velocity -> Bool -> msg Source #

Make PitchChannel Source # 

Methods

make :: C msg => PitchChannel -> Velocity -> Bool -> msg Source #

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

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.