Karya, built on 2023-08-29T07:47:28 (patch 7a412d5d6ba4968ca4155ef276a062ccdeb9109a)
Safe HaskellSafe-Inferred

Cmd.Responder

Description

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.

Synopsis

Documentation