Karya, built on 2018-05-31T02:46:59 (patch 0a1a35479c514820d77330ae8a978975ba22a47a)

Safe HaskellNone



The responder is the main event loop on the haskell side.

It receives msgs (described in Cmd.Msg) multiplexed through a set of channels which come from various sources: the UI event loop (in its own thread), a socket, the MIDI library, etc. The Msgs are then dispatched through Cmds to treat as they will, stopping when one returns Cmd.Done.

The responder then deals with the results of the Cmds: midi thru output is sent and the old state is diffed with the new state to produce Updates, which are given to Sync to sync the visible UI with the changes the Cmds made to the UI state.