Karya, built on 2020-11-26T21:03:17 (patch 23b5be2d53a9e8e7d6136cda5aae2849abe5cded)
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.