Module

Data.Midi.WebMidi

This module provides plug and play support for MIDI input devices such as MIDI keyboards.

#RawMidiEvent

type RawMidiEvent = { encodedBinary :: String, timeStamp :: Number }

A 'raw' Midi Event where the event has not been decoded.

#Device

type Device = { connected :: Boolean, id :: String, manufacturer :: String, name :: String, portType :: String, version :: String }

A Midi Device.

#webMidiConnect

webMidiConnect :: Effect Boolean

try to connect to Web-Midi.

#detectInputDevices

detectInputDevices :: (Device -> Effect Unit) -> Effect Unit

detect any input device as it connects or disconnects

#listen

listen :: (RawMidiEvent -> Effect Unit) -> Effect Unit

listen to 'raw' web-MIDI event messages.

#createDeviceChannel

createDeviceChannel :: Effect (Channel Device)

create a channel for MIDI device connections/disconnections and feed it from web-midi

#createEventChannel

createEventChannel :: Effect (Channel TimedEvent)

create a channel for MIDI timed event messages and feed it from web-midi

Modules