launchpad-control-0.0.1.0: High and low-level interface to the Novation Launchpad midi controller.

Safe HaskellNone

System.MIDI.Launchpad.Apps.MonoSeq

Description

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

Synopsis

Documentation

data Scale Source

Instances

data Cfg Source

Constructors

Cfg 

Fields

seqSteps :: !Int

How many steps we have (it can be more than 8!)

stepResolution :: !Int

Length of a step. 24 is quarter note, 12 is 1/8th, etc.

midiFrom :: !Int

which note should be the lowest (MIDI notes, for example 36 or 48 or 60 are C notes)

midiScale :: !Scale
 
ccFrom :: !Int

where to start to 5 consecutive CC commands

Instances

defaultCfg :: CfgSource

8 steps by default, and 1/8th note per step

data Mode Source

Constructors

Notes 
Params !Int 

Instances

data State Source

Constructors

State 

Instances

data PlayNote Source

Notes played at the moment

Constructors

PlayNote 

Fields

_note :: !Int
 
_stopAt :: !Int
 

monoSequencer :: Cfg -> PureApp Cfg Mode StateSource

A monophonic sequencer app.