LMMS
Loading...
Searching...
No Matches
reSID::EnvelopeGenerator Class Reference

#include <envelope.h>

Public Types

enum  State { ATTACK , DECAY_SUSTAIN , RELEASE , FREEZED }

Public Member Functions

 EnvelopeGenerator ()
void set_chip_model (chip_model model)
void clock ()
void clock (cycle_count delta_t)
void reset ()
void writeCONTROL_REG (reg8)
void writeATTACK_DECAY (reg8)
void writeSUSTAIN_RELEASE (reg8)
reg8 readENV ()
short output ()

Protected Member Functions

void set_exponential_counter ()
void state_change ()

Protected Attributes

reg16 rate_counter
reg16 rate_period
reg8 exponential_counter
reg8 exponential_counter_period
reg8 new_exponential_counter_period
reg8 envelope_counter
reg8 env3
cycle_count envelope_pipeline
cycle_count exponential_pipeline
cycle_count state_pipeline
bool hold_zero
bool reset_rate_counter
reg4 attack
reg4 decay
reg4 sustain
reg4 release
reg8 gate
State state
State next_state
chip_model sid_model

Static Protected Attributes

static reg16 rate_counter_period []
static reg8 sustain_level []
static unsigned short model_dac [2][1<< 8]

Friends

class SID

Member Enumeration Documentation

◆ State

Enumerator
ATTACK 
DECAY_SUSTAIN 
RELEASE 
FREEZED 

Constructor & Destructor Documentation

◆ EnvelopeGenerator()

reSID::EnvelopeGenerator::EnvelopeGenerator ( )

Member Function Documentation

◆ clock() [1/2]

void reSID::EnvelopeGenerator::clock ( )

◆ clock() [2/2]

void reSID::EnvelopeGenerator::clock ( cycle_count delta_t)

◆ output()

short reSID::EnvelopeGenerator::output ( )

◆ readENV()

reg8 reSID::EnvelopeGenerator::readENV ( )

◆ reset()

void reSID::EnvelopeGenerator::reset ( )

◆ set_chip_model()

void reSID::EnvelopeGenerator::set_chip_model ( chip_model model)

◆ set_exponential_counter()

void reSID::EnvelopeGenerator::set_exponential_counter ( )
protected

◆ state_change()

void reSID::EnvelopeGenerator::state_change ( )
protected

◆ writeATTACK_DECAY()

void reSID::EnvelopeGenerator::writeATTACK_DECAY ( reg8 )

◆ writeCONTROL_REG()

void reSID::EnvelopeGenerator::writeCONTROL_REG ( reg8 )

◆ writeSUSTAIN_RELEASE()

void reSID::EnvelopeGenerator::writeSUSTAIN_RELEASE ( reg8 )

◆ SID

friend class SID
friend

Member Data Documentation

◆ attack

reg4 reSID::EnvelopeGenerator::attack
protected

◆ decay

reg4 reSID::EnvelopeGenerator::decay
protected

◆ env3

reg8 reSID::EnvelopeGenerator::env3
protected

◆ envelope_counter

reg8 reSID::EnvelopeGenerator::envelope_counter
protected

◆ envelope_pipeline

cycle_count reSID::EnvelopeGenerator::envelope_pipeline
protected

◆ exponential_counter

reg8 reSID::EnvelopeGenerator::exponential_counter
protected

◆ exponential_counter_period

reg8 reSID::EnvelopeGenerator::exponential_counter_period
protected

◆ exponential_pipeline

cycle_count reSID::EnvelopeGenerator::exponential_pipeline
protected

◆ gate

reg8 reSID::EnvelopeGenerator::gate
protected

◆ hold_zero

bool reSID::EnvelopeGenerator::hold_zero
protected

◆ model_dac

unsigned short reSID::EnvelopeGenerator::model_dac[2][1<< 8]
staticprotected

◆ new_exponential_counter_period

reg8 reSID::EnvelopeGenerator::new_exponential_counter_period
protected

◆ next_state

State reSID::EnvelopeGenerator::next_state
protected

◆ rate_counter

reg16 reSID::EnvelopeGenerator::rate_counter
protected

◆ rate_counter_period

reg16 reSID::EnvelopeGenerator::rate_counter_period[]
staticprotected

◆ rate_period

reg16 reSID::EnvelopeGenerator::rate_period
protected

◆ release

reg4 reSID::EnvelopeGenerator::release
protected

◆ reset_rate_counter

bool reSID::EnvelopeGenerator::reset_rate_counter
protected

◆ sid_model

chip_model reSID::EnvelopeGenerator::sid_model
protected

◆ state

State reSID::EnvelopeGenerator::state
protected

◆ state_pipeline

cycle_count reSID::EnvelopeGenerator::state_pipeline
protected

◆ sustain

reg4 reSID::EnvelopeGenerator::sustain
protected

◆ sustain_level

reg8 reSID::EnvelopeGenerator::sustain_level[]
staticprotected

The documentation for this class was generated from the following file: