Safe Haskell | None |
---|
A monophonic sequencer app.
Each note can have a velocity, length, offset (small delay relative to the grid position), and 5 custom CC commands. The parameters can be set up using the 8 triangle buttons (top one is velocity, second is length, etc).
When there are more than 8 step, you can scroll with the left/right buttons (jumping 8 steps).
Example usage:
main = runPureApp defaultGlobalConfig $ monoSequencer defaultCfg
- data Scale
- = Chromatic
- | Pentatonic
- | CMinor
- | CMajor
- data Cfg = Cfg {}
- defaultCfg :: Cfg
- data Mode
- data State = State {}
- data PlayNote = PlayNote {}
- monoSequencer :: Cfg -> PureApp Cfg Mode State
- initialState :: Cfg -> State
- startStop :: Cfg -> Bool -> State -> State
- button :: Cfg -> ButtonPress -> (Mode, State) -> ((Mode, State), [MidiMessage'])
- counterStep :: Cfg -> Int -> Int
- invCounterStep :: Cfg -> Int -> Int
- totalTicks :: Cfg -> Int
- ccNumber :: Cfg -> Int -> Int
- noteNumber :: Cfg -> Int -> Int
- sync :: Cfg -> Mode -> State -> Int -> (State, [MidiMessage'])
- renderArrows :: Cfg -> State -> [(Button, Color)]
- render :: Cfg -> Mode -> State -> Maybe Int -> [(Button, Color)]
Documentation
Cfg | |
|
8 steps by default, and 1/8th note per step
Notes played at the moment
initialState :: Cfg -> StateSource
button :: Cfg -> ButtonPress -> (Mode, State) -> ((Mode, State), [MidiMessage'])Source
counterStep :: Cfg -> Int -> IntSource
invCounterStep :: Cfg -> Int -> IntSource
totalTicks :: Cfg -> IntSource
noteNumber :: Cfg -> Int -> IntSource