Karya, built on 2022-03-21T01:30:44 (patch 89d1651424c35e564138d93424a157ff87457245)
Safe HaskellSafe-Inferred



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.