DO NOT INCLUDE THIS MODULE!
This module is intended to only be used internally by trackerboy modules.
Types
ApuOperation = object updates*: array[ChannelId, ChannelUpdate] sweep*: Option[uint8] volume*: Option[uint8]
- An operation or modification to be made to an ApuIo object Stepping the Engine results in an ApuOperation Source Edit
ChannelAction = enum caNone, ## No action, do not update channel caUpdate, ## Update the channel by writing its registers caCut, ## Note stopped, turn DAC off caShutdown ## Channel was unlocked, zero the channel's registers
- Source Edit
ChannelState = object envelope*: uint16 timbre*: uint8 panning*: uint8 frequency*: uint16
- State of a channel Source Edit
ChannelUpdate = object case action*: ChannelAction of caNone: nil of caUpdate: flags*: UpdateFlags state*: ChannelState trigger*: bool of caCut: nil of caShutdown: nil
- Source Edit
EngineFrame = object halted*: bool ## Indicates if the song has halted startedNewRow*: bool ## Indicates if this frame is the first of a new row being stepped. startedNewPattern*: bool ## Indicates if this frame is the first step of a new pattern. speed*: uint8 ## Current playback speed, in Q4.4 format. time*: int ## time index of the frame order*: int ## Current pattern index row*: int ## Current row index
- Informational data about the current engine frame being stepped. Source Edit
GlobalState = object patternCommand*: PatternCommand patternCommandParam*: uint8 panning*: array[ChannelId, uint8] speed*: uint8 sweep*: Option[uint8] volume*: Option[uint8] halt*: bool
- State of the music runtime that is accessible by all tracks Source Edit
UpdateFlag = enum ufTimbre, ufEnvelope, ufPanning, ufFrequency
- Source Edit
UpdateFlags = set[UpdateFlag]
- Source Edit
Procs
func init(_: typedesc[ChannelState]): ChannelState
- Source Edit
func init(T: typedesc[GlobalState]): GlobalState
- Source Edit