Safe Haskell | None |
---|
A very simple generic live FX control surface.
There are 8 CCs (the 8 columns of the grid), and 8 trigger buttons (the side buttons).
The trigger buttons can function either as an on/off switch or as gate (active only during pressed). This is selectable by pressing down the side button(s) and at the same time the up/down button. By default, the top four are switched, the bottom four gate.
Example usage:
main = runPureApp defaultGlobalConfig $ fxControl defaultCfg
- data Cfg = Cfg {}
- defaultCfg :: Cfg
- data Mode = FX
- data Trigger
- data State = State {}
- fxControl :: Cfg -> PureApp Cfg Mode State
- initialState :: State
- startStop :: Cfg -> Bool -> State -> State
- button :: Cfg -> ButtonPress -> (Mode, State) -> ((Mode, State), [MidiMessage'])
- sync :: Cfg -> Mode -> State -> Int -> (State, [MidiMessage'])
- render :: Cfg -> Mode -> State -> Maybe Int -> [(Button, Color)]