openMSX
|
#include <YM2413Okazaki.hh>
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 |
const int * | dphaseDRTableRks |
EnvelopeState | state |
EnvPhaseIndex | eg_phase |
EnvPhaseIndex | eg_dphase |
EnvPhaseIndex | eg_phase_max |
byte | slot_on_flag |
bool | sustain |
Patch | patch |
Slot * | sibling |
Definition at line 59 of file YM2413Okazaki.hh.
|
inline |
ALWAYS_INLINE unsigned openmsx::YM2413Okazaki::Slot::calc_envelope | ( | int | lfo_am, |
unsigned | fixed_env | ||
) |
Definition at line 962 of file YM2413Okazaki.cc.
References openmsx::YM2413Okazaki::ATTACK, openmsx::YM2413Okazaki::FINISH, and openmsx::YM2413Okazaki::SUSHOLD.
void openmsx::YM2413Okazaki::Slot::calc_envelope_outline | ( | unsigned & | out | ) |
Definition at line 931 of file YM2413Okazaki.cc.
References openmsx::YM2413Okazaki::ATTACK, openmsx::YM2413Okazaki::DECAY, openmsx::YM2413Okazaki::FINISH, openmsx::YM2413Okazaki::RELEASE, openmsx::YM2413Okazaki::SETTLE, openmsx::YM2413Okazaki::SUSHOLD, openmsx::YM2413Okazaki::SUSTAIN, and UNREACHABLE.
unsigned openmsx::YM2413Okazaki::Slot::calc_fixed_env | ( | ) | const |
Definition at line 991 of file YM2413Okazaki.cc.
References openmsx::YM2413Okazaki::FINISH, and openmsx::YM2413Okazaki::SUSHOLD.
Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().
|
inline |
Definition at line 924 of file YM2413Okazaki.cc.
Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().
|
inline |
Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().
ALWAYS_INLINE int openmsx::YM2413Okazaki::Slot::calc_slot_car | ( | unsigned | lfo_pm, |
int | lfo_am, | ||
int | fm, | ||
unsigned | fixed_env | ||
) |
Definition at line 1005 of file YM2413Okazaki.cc.
|
inline |
Definition at line 1049 of file YM2413Okazaki.cc.
Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().
|
inline |
Definition at line 1063 of file YM2413Okazaki.cc.
Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().
|
inline |
Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().
ALWAYS_INLINE int openmsx::YM2413Okazaki::Slot::calc_slot_mod | ( | unsigned | lfo_pm, |
int | lfo_am, | ||
unsigned | fixed_env | ||
) |
Definition at line 1016 of file YM2413Okazaki.cc.
|
inline |
Definition at line 1039 of file YM2413Okazaki.cc.
Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().
|
inline |
Definition at line 1031 of file YM2413Okazaki.cc.
Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().
|
inline |
Definition at line 551 of file YM2413Okazaki.cc.
References openmsx::YM2413Okazaki::FINISH.
Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().
void openmsx::YM2413Okazaki::Slot::reset | ( | ) |
Definition at line 423 of file YM2413Okazaki.cc.
References openmsx::YM2413Okazaki::FINISH.
void openmsx::YM2413Okazaki::Slot::serialize | ( | Archive & | ar, |
unsigned | version | ||
) |
Definition at line 1635 of file YM2413Okazaki.cc.
|
inline |
Definition at line 525 of file YM2413Okazaki.cc.
References openmsx::YM2413Okazaki::ATTACK, openmsx::FixedPoint< EP_FP_BITS >::create(), openmsx::YM2413Okazaki::DECAY, openmsx::YM2413Okazaki::FINISH, openmsx::YM2413Okazaki::RELEASE, openmsx::YM2413Okazaki::SETTLE, openmsx::YM2413Okazaki::SUSHOLD, and openmsx::YM2413Okazaki::SUSTAIN.
Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel(), and openmsx::YM2413Okazaki::YM2413::keyOn_BD().
|
inline |
Definition at line 583 of file YM2413Okazaki.cc.
References openmsx::YM2413Okazaki::SUSHOLD, and openmsx::YM2413Okazaki::SUSTAIN.
|
inline |
Definition at line 593 of file YM2413Okazaki.cc.
Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel(), and openmsx::YM2413Okazaki::YM2413::setRhythmFlags().
|
inline |
Definition at line 572 of file YM2413Okazaki.cc.
References openmsx::YM2413Okazaki::ATTACK, openmsx::YM2413Okazaki::FINISH, and openmsx::YM2413Okazaki::RELEASE.
Referenced by openmsx::YM2413Okazaki::YM2413::keyOff_BD(), openmsx::YM2413Okazaki::YM2413::keyOff_CYM(), openmsx::YM2413Okazaki::YM2413::keyOff_HH(), openmsx::YM2413Okazaki::YM2413::keyOff_SD(), and openmsx::YM2413Okazaki::YM2413::keyOff_TOM().
|
inline |
Definition at line 557 of file YM2413Okazaki.cc.
References openmsx::YM2413Okazaki::ATTACK.
Referenced by openmsx::YM2413Okazaki::YM2413::keyOn_SD(), and openmsx::YM2413Okazaki::YM2413::keyOn_TOM().
|
inline |
Definition at line 565 of file YM2413Okazaki.cc.
References openmsx::YM2413Okazaki::ATTACK.
Referenced by openmsx::YM2413Okazaki::YM2413::keyOn_CYM(), and openmsx::YM2413Okazaki::YM2413::keyOn_HH().
|
inline |
Definition at line 517 of file YM2413Okazaki.cc.
Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel(), and openmsx::YM2413Okazaki::YM2413::setRhythmFlags().
|
inline |
Definition at line 465 of file YM2413Okazaki.cc.
References openmsx::YM2413Okazaki::ATTACK, openmsx::FixedPoint< EP_FP_BITS >::create(), openmsx::YM2413Okazaki::DECAY, openmsx::YM2413Okazaki::FINISH, openmsx::YM2413Okazaki::RELEASE, openmsx::YM2413Okazaki::SETTLE, openmsx::YM2413Okazaki::SUSHOLD, and openmsx::YM2413Okazaki::SUSTAIN.
Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().
|
inline |
Definition at line 437 of file YM2413Okazaki.cc.
Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().
|
inline |
Definition at line 458 of file YM2413Okazaki.cc.
Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().
|
inline |
Definition at line 453 of file YM2413Okazaki.cc.
Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().
unsigned openmsx::YM2413Okazaki::Slot::cphase |
Definition at line 100 of file YM2413Okazaki.hh.
Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().
unsigned openmsx::YM2413Okazaki::Slot::dphase[8] |
Definition at line 101 of file YM2413Okazaki.hh.
const int* openmsx::YM2413Okazaki::Slot::dphaseDRTableRks |
Definition at line 106 of file YM2413Okazaki.hh.
EnvPhaseIndex openmsx::YM2413Okazaki::Slot::eg_dphase |
Definition at line 109 of file YM2413Okazaki.hh.
EnvPhaseIndex openmsx::YM2413Okazaki::Slot::eg_phase |
Definition at line 108 of file YM2413Okazaki.hh.
EnvPhaseIndex openmsx::YM2413Okazaki::Slot::eg_phase_max |
Definition at line 110 of file YM2413Okazaki.hh.
int openmsx::YM2413Okazaki::Slot::feedback |
Definition at line 96 of file YM2413Okazaki.hh.
int openmsx::YM2413Okazaki::Slot::output |
Definition at line 97 of file YM2413Okazaki.hh.
Patch openmsx::YM2413Okazaki::Slot::patch |
Definition at line 114 of file YM2413Okazaki.hh.
Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().
Slot* openmsx::YM2413Okazaki::Slot::sibling |
Definition at line 115 of file YM2413Okazaki.hh.
byte openmsx::YM2413Okazaki::Slot::slot_on_flag |
Definition at line 111 of file YM2413Okazaki.hh.
Referenced by openmsx::YM2413Okazaki::YM2413::keyOff_BD(), openmsx::YM2413Okazaki::YM2413::keyOff_CYM(), openmsx::YM2413Okazaki::YM2413::keyOff_HH(), openmsx::YM2413Okazaki::YM2413::keyOff_SD(), openmsx::YM2413Okazaki::YM2413::keyOff_TOM(), openmsx::YM2413Okazaki::YM2413::keyOn_BD(), openmsx::YM2413Okazaki::YM2413::keyOn_CYM(), openmsx::YM2413Okazaki::YM2413::keyOn_HH(), openmsx::YM2413Okazaki::YM2413::keyOn_SD(), openmsx::YM2413Okazaki::YM2413::keyOn_TOM(), and openmsx::YM2413Okazaki::YM2413::update_key_status().
EnvelopeState openmsx::YM2413Okazaki::Slot::state |
Definition at line 107 of file YM2413Okazaki.hh.
Referenced by openmsx::YM2413Okazaki::YM2413::calcChannel().
bool openmsx::YM2413Okazaki::Slot::sustain |
Definition at line 112 of file YM2413Okazaki.hh.
unsigned openmsx::YM2413Okazaki::Slot::tll |
Definition at line 105 of file YM2413Okazaki.hh.
unsigned openmsx::YM2413Okazaki::Slot::volume |
Definition at line 104 of file YM2413Okazaki.hh.