openMSX
|
#include <YM2413Burczynski.hh>
Public Member Functions | |
int | calcOutput (unsigned eg_cnt, unsigned lfo_pm, unsigned lfo_am, int fm) |
Calculate the value of the current sample produced by this channel. | |
void | setFrequency (int block_fnum) |
Sets the frequency for this channel. | |
void | setFrequencyLow (uint8_t value) |
Changes the lower 8 bits of the frequency for this channel. | |
void | setFrequencyHigh (uint8_t value) |
Changes the higher 4 bits of the frequency for this channel. | |
void | updateInstrumentPart (int part, uint8_t value) |
Sets some synthesis parameters as specified by the instrument. | |
void | updateInstrument (std::span< const uint8_t, 8 > inst) |
Sets all synthesis parameters as specified by the instrument. | |
int | getBlockFNum () const |
FreqIndex | getFrequencyIncrement () const |
int | getKeyScaleLevelBase () const |
uint8_t | getKeyCode () const |
bool | isSustained () const |
void | setSustain (bool sustained) |
template<typename Archive > | |
void | serialize (Archive &ar, unsigned version) |
Public Attributes | |
Slot | mod |
Slot | car |
Definition at line 176 of file YM2413Burczynski.hh.
|
inline |
Calculate the value of the current sample produced by this channel.
Definition at line 553 of file YM2413Burczynski.cc.
References openmsx::YM2413Burczynski::Slot::calc_phase(), openmsx::YM2413Burczynski::Slot::calcOutput(), and car.
Referenced by openmsx::YM2413Burczynski::YM2413::generateChannels().
int openmsx::YM2413Burczynski::Channel::getBlockFNum | ( | ) | const |
Definition at line 823 of file YM2413Burczynski.cc.
Referenced by openmsx::YM2413Burczynski::Slot::calc_phase().
FreqIndex openmsx::YM2413Burczynski::Channel::getFrequencyIncrement | ( | ) | const |
Definition at line 828 of file YM2413Burczynski.cc.
Referenced by openmsx::YM2413Burczynski::Slot::updateGenerators().
uint8_t openmsx::YM2413Burczynski::Channel::getKeyCode | ( | ) | const |
Definition at line 838 of file YM2413Burczynski.cc.
Referenced by openmsx::YM2413Burczynski::Slot::setAttackRate(), openmsx::YM2413Burczynski::Slot::setDecayRate(), openmsx::YM2413Burczynski::Slot::setReleaseRate(), and openmsx::YM2413Burczynski::Slot::updateGenerators().
int openmsx::YM2413Burczynski::Channel::getKeyScaleLevelBase | ( | ) | const |
Definition at line 833 of file YM2413Burczynski.cc.
bool openmsx::YM2413Burczynski::Channel::isSustained | ( | ) | const |
Definition at line 844 of file YM2413Burczynski.cc.
Referenced by openmsx::YM2413Burczynski::Slot::calc_envelope(), and openmsx::YM2413Burczynski::Slot::updateGenerators().
void openmsx::YM2413Burczynski::Channel::serialize | ( | Archive & | ar, |
unsigned | version | ||
) |
Definition at line 1334 of file YM2413Burczynski.cc.
References car, mod, openmsx::YM2413Burczynski::Slot::serialize(), and openmsx::YM2413Burczynski::Slot::updateFrequency().
void openmsx::YM2413Burczynski::Channel::setFrequency | ( | int | block_fnum | ) |
Sets the frequency for this channel.
Definition at line 800 of file YM2413Burczynski.cc.
References car, mod, and openmsx::YM2413Burczynski::Slot::updateFrequency().
Referenced by setFrequencyHigh(), and setFrequencyLow().
void openmsx::YM2413Burczynski::Channel::setFrequencyHigh | ( | uint8_t | value | ) |
Changes the higher 4 bits of the frequency for this channel.
Definition at line 818 of file YM2413Burczynski.cc.
References setFrequency().
void openmsx::YM2413Burczynski::Channel::setFrequencyLow | ( | uint8_t | value | ) |
Changes the lower 8 bits of the frequency for this channel.
Definition at line 813 of file YM2413Burczynski.cc.
References setFrequency().
void openmsx::YM2413Burczynski::Channel::setSustain | ( | bool | sustained | ) |
Definition at line 849 of file YM2413Burczynski.cc.
void openmsx::YM2413Burczynski::Channel::updateInstrument | ( | std::span< const uint8_t, 8 > | inst | ) |
Sets all synthesis parameters as specified by the instrument.
inst | Instrument data. |
Definition at line 902 of file YM2413Burczynski.cc.
References updateInstrumentPart(), and xrange().
void openmsx::YM2413Burczynski::Channel::updateInstrumentPart | ( | int | part, |
uint8_t | value | ||
) |
Sets some synthesis parameters as specified by the instrument.
part | Part [0..7] of the instrument. |
value | New value for this part. |
Definition at line 854 of file YM2413Burczynski.cc.
References car, mod, openmsx::YM2413Burczynski::Slot::setAmplitudeModulation(), openmsx::YM2413Burczynski::Slot::setAttackRate(), openmsx::YM2413Burczynski::Slot::setDecayRate(), openmsx::YM2413Burczynski::Slot::setEnvelopeSustained(), openmsx::YM2413Burczynski::Slot::setFeedbackShift(), openmsx::YM2413Burczynski::Slot::setFrequencyMultiplier(), openmsx::YM2413Burczynski::Slot::setKeyScaleLevel(), openmsx::YM2413Burczynski::Slot::setKeyScaleRate(), openmsx::YM2413Burczynski::Slot::setReleaseRate(), openmsx::YM2413Burczynski::Slot::setSustainLevel(), openmsx::YM2413Burczynski::Slot::setTotalLevel(), openmsx::YM2413Burczynski::Slot::setVibrato(), openmsx::YM2413Burczynski::Slot::setWaveform(), and openmsx::YM2413Burczynski::Slot::updateGenerators().
Referenced by updateInstrument().
Slot openmsx::YM2413Burczynski::Channel::car |
Definition at line 217 of file YM2413Burczynski.hh.
Referenced by calcOutput(), serialize(), setFrequency(), and updateInstrumentPart().
Slot openmsx::YM2413Burczynski::Channel::mod |
Definition at line 216 of file YM2413Burczynski.hh.
Referenced by openmsx::YM2413Burczynski::YM2413::generateChannels(), serialize(), setFrequency(), and updateInstrumentPart().