Safe Haskell | Safe-Inferred |
---|
Main entry point for Perform.Midi. Render Deriver output down to actual midi events.
Synopsis
- default_velocity :: MSignal.Y
- data State = State {
- state_channelize :: !ChannelizeState
- state_allot :: !AllotState
- state_perform :: !PerformState
- initial_state :: State
- data Config
- config :: Patch.Config -> Config
- addrs_config :: [(Patch.Addr, Maybe.Maybe Patch.Voices)] -> Config
- perform :: State -> Configs -> Events -> (MidiEvents, State)
- type MidiEvents = [LEvent.LEvent Midi.WriteMessage]
Documentation
default_velocity :: MSignal.Y Source #
This winds up being 100, which is loud but not too loud and distinctive-looking.
Performance state. This is a snapshot of the state of the various functions in the performance pipeline. You should be able to resume performance at any point given a RealTime and a State.
I don't do that anymore, and this is left over from when I cached the performance. I removed the cache but left the state visible.
State | |
|
config :: Patch.Config -> Config Source #
addrs_config :: [(Patch.Addr, Maybe.Maybe Patch.Voices)] -> Config Source #
perform :: State -> Configs -> Events -> (MidiEvents, State) Source #
Render instrument tracks down to midi messages, sorted in timestamp order. This should be non-strict on the event list, so that it can start producing MIDI output as soon as it starts processing Events.
types
type MidiEvents = [LEvent.LEvent Midi.WriteMessage] Source #