openMSX
Public Member Functions | Public Attributes | List of all members
openmsx::YM2413Okazaki::Slot Class Reference

#include <YM2413Okazaki.hh>

Collaboration diagram for openmsx::YM2413Okazaki::Slot:
Collaboration graph
[legend]

Public Member Functions

void reset ()
 
void setEnvelopeState (EnvelopeState state)
 
bool isActive () const
 
void slotOn ()
 
void slotOn2 ()
 
void slotOff ()
 
void setPatch (const Patch &patch)
 
void setVolume (unsigned volume)
 
unsigned calc_phase (unsigned lfo_pm)
 
template<bool HAS_AM, bool FIXED_ENV>
unsigned calc_envelope (int lfo_am, unsigned fixed_env)
 
template<bool HAS_AM>
unsigned calc_fixed_env () const
 
void calc_envelope_outline (unsigned &out)
 
template<bool HAS_AM, bool FIXED_ENV>
int calc_slot_car (unsigned lfo_pm, int lfo_am, int fm, unsigned fixed_env)
 
template<bool HAS_AM, bool HAS_FB, bool FIXED_ENV>
int calc_slot_mod (unsigned lfo_pm, int lfo_am, unsigned fixed_env)
 
int calc_slot_tom ()
 
int calc_slot_snare (bool noise)
 
int calc_slot_cym (unsigned phase7, unsigned phase8)
 
int calc_slot_hat (unsigned phase7, unsigned phase8, bool noise)
 
void updatePG (unsigned freq)
 
void updateTLL (unsigned freq, bool actAsCarrier)
 
void updateRKS (unsigned freq)
 
void updateEG ()
 
void updateAll (unsigned freq, bool actAsCarrier)
 
template<typename Archive >
void serialize (Archive &ar, unsigned version)
 
template<bool HAS_AM, bool FIXED_ENV>
ALWAYS_INLINE unsigned calc_envelope (int lfo_am, unsigned fixed_env)
 
template<bool HAS_AM, bool FIXED_ENV>
ALWAYS_INLINE int calc_slot_car (unsigned lfo_pm, int lfo_am, int fm, unsigned fixed_env)
 
template<bool HAS_AM, bool HAS_FB, bool FIXED_ENV>
ALWAYS_INLINE int calc_slot_mod (unsigned lfo_pm, int lfo_am, unsigned fixed_env)
 

Public Attributes

int feedback
 
int output
 
unsigned cphase
 
unsigned dphase [8]
 
unsigned volume
 
unsigned tll
 
int * dphaseDRTableRks
 
EnvelopeState state
 
EnvPhaseIndex eg_phase
 
EnvPhaseIndex eg_dphase
 
EnvPhaseIndex eg_phase_max
 
byte slot_on_flag
 
bool sustain
 
Patch patch
 
Slotsibling
 

Detailed Description

Definition at line 61 of file YM2413Okazaki.hh.

Member Function Documentation

§ calc_envelope() [1/2]

template<bool HAS_AM, bool FIXED_ENV>
unsigned openmsx::YM2413Okazaki::Slot::calc_envelope ( int  lfo_am,
unsigned  fixed_env 
)
inline

§ calc_envelope() [2/2]

template<bool HAS_AM, bool FIXED_ENV>
ALWAYS_INLINE unsigned openmsx::YM2413Okazaki::Slot::calc_envelope ( int  lfo_am,
unsigned  fixed_env 
)

§ calc_envelope_outline()

void openmsx::YM2413Okazaki::Slot::calc_envelope_outline ( unsigned &  out)

§ calc_fixed_env()

template<bool HAS_AM>
unsigned openmsx::YM2413Okazaki::Slot::calc_fixed_env ( ) const

§ calc_phase()

ALWAYS_INLINE unsigned openmsx::YM2413Okazaki::Slot::calc_phase ( unsigned  lfo_pm)
inline

Definition at line 616 of file YM2413Okazaki.cc.

Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().

§ calc_slot_car() [1/2]

template<bool HAS_AM, bool FIXED_ENV>
int openmsx::YM2413Okazaki::Slot::calc_slot_car ( unsigned  lfo_pm,
int  lfo_am,
int  fm,
unsigned  fixed_env 
)
inline

§ calc_slot_car() [2/2]

template<bool HAS_AM, bool FIXED_ENV>
ALWAYS_INLINE int openmsx::YM2413Okazaki::Slot::calc_slot_car ( unsigned  lfo_pm,
int  lfo_am,
int  fm,
unsigned  fixed_env 
)

Definition at line 697 of file YM2413Okazaki.cc.

§ calc_slot_cym()

ALWAYS_INLINE int openmsx::YM2413Okazaki::Slot::calc_slot_cym ( unsigned  phase7,
unsigned  phase8 
)
inline

Definition at line 741 of file YM2413Okazaki.cc.

Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().

§ calc_slot_hat()

ALWAYS_INLINE int openmsx::YM2413Okazaki::Slot::calc_slot_hat ( unsigned  phase7,
unsigned  phase8,
bool  noise 
)
inline

Definition at line 755 of file YM2413Okazaki.cc.

Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().

§ calc_slot_mod() [1/2]

template<bool HAS_AM, bool HAS_FB, bool FIXED_ENV>
int openmsx::YM2413Okazaki::Slot::calc_slot_mod ( unsigned  lfo_pm,
int  lfo_am,
unsigned  fixed_env 
)
inline

§ calc_slot_mod() [2/2]

template<bool HAS_AM, bool HAS_FB, bool FIXED_ENV>
ALWAYS_INLINE int openmsx::YM2413Okazaki::Slot::calc_slot_mod ( unsigned  lfo_pm,
int  lfo_am,
unsigned  fixed_env 
)

Definition at line 708 of file YM2413Okazaki.cc.

§ calc_slot_snare()

ALWAYS_INLINE int openmsx::YM2413Okazaki::Slot::calc_slot_snare ( bool  noise)
inline

Definition at line 731 of file YM2413Okazaki.cc.

Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().

§ calc_slot_tom()

ALWAYS_INLINE int openmsx::YM2413Okazaki::Slot::calc_slot_tom ( )
inline

Definition at line 723 of file YM2413Okazaki.cc.

Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().

§ isActive()

bool openmsx::YM2413Okazaki::Slot::isActive ( ) const
inline

§ reset()

void openmsx::YM2413Okazaki::Slot::reset ( )

Definition at line 147 of file YM2413Okazaki.cc.

References openmsx::YM2413Okazaki::FINISH.

§ serialize()

template<typename Archive >
void openmsx::YM2413Okazaki::Slot::serialize ( Archive &  ar,
unsigned  version 
)

Definition at line 1327 of file YM2413Okazaki.cc.

§ setEnvelopeState()

void openmsx::YM2413Okazaki::Slot::setEnvelopeState ( EnvelopeState  state)
inline

§ setPatch()

void openmsx::YM2413Okazaki::Slot::setPatch ( const Patch patch)
inline

§ setVolume()

void openmsx::YM2413Okazaki::Slot::setVolume ( unsigned  volume)
inline

§ slotOff()

void openmsx::YM2413Okazaki::Slot::slotOff ( )
inline

§ slotOn()

void openmsx::YM2413Okazaki::Slot::slotOn ( )
inline

§ slotOn2()

void openmsx::YM2413Okazaki::Slot::slotOn2 ( )
inline

§ updateAll()

void openmsx::YM2413Okazaki::Slot::updateAll ( unsigned  freq,
bool  actAsCarrier 
)
inline

§ updateEG()

void openmsx::YM2413Okazaki::Slot::updateEG ( )
inline

§ updatePG()

void openmsx::YM2413Okazaki::Slot::updatePG ( unsigned  freq)
inline

Definition at line 161 of file YM2413Okazaki.cc.

Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().

§ updateRKS()

void openmsx::YM2413Okazaki::Slot::updateRKS ( unsigned  freq)
inline

Definition at line 182 of file YM2413Okazaki.cc.

Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().

§ updateTLL()

void openmsx::YM2413Okazaki::Slot::updateTLL ( unsigned  freq,
bool  actAsCarrier 
)
inline

Definition at line 177 of file YM2413Okazaki.cc.

Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().

Member Data Documentation

§ cphase

unsigned openmsx::YM2413Okazaki::Slot::cphase

Definition at line 102 of file YM2413Okazaki.hh.

Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().

§ dphase

unsigned openmsx::YM2413Okazaki::Slot::dphase[8]

Definition at line 103 of file YM2413Okazaki.hh.

§ dphaseDRTableRks

int* openmsx::YM2413Okazaki::Slot::dphaseDRTableRks

Definition at line 108 of file YM2413Okazaki.hh.

§ eg_dphase

EnvPhaseIndex openmsx::YM2413Okazaki::Slot::eg_dphase

Definition at line 111 of file YM2413Okazaki.hh.

§ eg_phase

EnvPhaseIndex openmsx::YM2413Okazaki::Slot::eg_phase

Definition at line 110 of file YM2413Okazaki.hh.

§ eg_phase_max

EnvPhaseIndex openmsx::YM2413Okazaki::Slot::eg_phase_max

Definition at line 112 of file YM2413Okazaki.hh.

§ feedback

int openmsx::YM2413Okazaki::Slot::feedback

Definition at line 98 of file YM2413Okazaki.hh.

§ output

int openmsx::YM2413Okazaki::Slot::output

Definition at line 99 of file YM2413Okazaki.hh.

§ patch

Patch openmsx::YM2413Okazaki::Slot::patch

Definition at line 116 of file YM2413Okazaki.hh.

Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().

§ sibling

Slot* openmsx::YM2413Okazaki::Slot::sibling

Definition at line 117 of file YM2413Okazaki.hh.

§ slot_on_flag

byte openmsx::YM2413Okazaki::Slot::slot_on_flag

§ state

EnvelopeState openmsx::YM2413Okazaki::Slot::state

Definition at line 109 of file YM2413Okazaki.hh.

Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().

§ sustain

bool openmsx::YM2413Okazaki::Slot::sustain

Definition at line 114 of file YM2413Okazaki.hh.

§ tll

unsigned openmsx::YM2413Okazaki::Slot::tll

Definition at line 107 of file YM2413Okazaki.hh.

§ volume

unsigned openmsx::YM2413Okazaki::Slot::volume

Definition at line 106 of file YM2413Okazaki.hh.


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