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

#include <YM2413Okazaki.hh>

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

Public Member Functions

 Patch ()
 Creates an uninitialized Patch object; call initXXX() before use.
 
void initModulator (std::span< const uint8_t, 8 > data)
 
void initCarrier (std::span< const uint8_t, 8 > data)
 
void setKR (uint8_t value)
 Sets the Key Scale of Rate (0 or 1).
 
void setML (uint8_t value)
 Sets the frequency multiplier factor [0..15].
 
void setKL (uint8_t value)
 Sets Key scale level [0..3].
 
void setTL (uint8_t value)
 Set volume (total level) [0..63].
 
void setWF (uint8_t value)
 Set waveform [0..1].
 
void setFB (uint8_t value)
 Sets the amount of feedback [0..7].
 
void setSL (uint8_t value)
 Sets sustain level [0..15].
 

Public Attributes

std::span< const unsigned, PG_WIDTHWF
 
std::span< const uint8_t, 16 *8 > KL
 
unsigned SL
 
uint8_t AMPM = 0
 
bool EG = false
 
uint8_t KR
 
uint8_t ML
 
uint8_t TL
 
uint8_t FB
 
uint8_t AR = 0
 
uint8_t DR = 0
 
uint8_t RR = 0
 

Detailed Description

Definition at line 23 of file YM2413Okazaki.hh.

Constructor & Destructor Documentation

◆ Patch()

openmsx::YM2413Okazaki::Patch::Patch ( )

Creates an uninitialized Patch object; call initXXX() before use.

This approach makes it possible to create an array of Patches.

Definition at line 311 of file YM2413Okazaki.cc.

References setFB(), setKR(), setML(), setSL(), and setTL().

Member Function Documentation

◆ initCarrier()

void openmsx::YM2413Okazaki::Patch::initCarrier ( std::span< const uint8_t, 8 >  data)

Definition at line 337 of file YM2413Okazaki.cc.

References AMPM, AR, DR, EG, RR, setFB(), setKL(), setKR(), setML(), setSL(), setTL(), and setWF().

◆ initModulator()

void openmsx::YM2413Okazaki::Patch::initModulator ( std::span< const uint8_t, 8 >  data)

Definition at line 321 of file YM2413Okazaki.cc.

References AMPM, AR, DR, EG, RR, setFB(), setKL(), setKR(), setML(), setSL(), setTL(), and setWF().

◆ setFB()

void openmsx::YM2413Okazaki::Patch::setFB ( uint8_t  value)

Sets the amount of feedback [0..7].

Definition at line 374 of file YM2413Okazaki.cc.

References FB.

Referenced by initCarrier(), initModulator(), and Patch().

◆ setKL()

void openmsx::YM2413Okazaki::Patch::setKL ( uint8_t  value)

Sets Key scale level [0..3].

Definition at line 361 of file YM2413Okazaki.cc.

References KL.

Referenced by initCarrier(), and initModulator().

◆ setKR()

void openmsx::YM2413Okazaki::Patch::setKR ( uint8_t  value)

Sets the Key Scale of Rate (0 or 1).

Definition at line 353 of file YM2413Okazaki.cc.

References KR.

Referenced by initCarrier(), initModulator(), and Patch().

◆ setML()

void openmsx::YM2413Okazaki::Patch::setML ( uint8_t  value)

Sets the frequency multiplier factor [0..15].

Definition at line 357 of file YM2413Okazaki.cc.

References ML.

Referenced by initCarrier(), initModulator(), and Patch().

◆ setSL()

void openmsx::YM2413Okazaki::Patch::setSL ( uint8_t  value)

Sets sustain level [0..15].

Definition at line 378 of file YM2413Okazaki.cc.

References SL.

Referenced by initCarrier(), initModulator(), and Patch().

◆ setTL()

void openmsx::YM2413Okazaki::Patch::setTL ( uint8_t  value)

Set volume (total level) [0..63].

Definition at line 365 of file YM2413Okazaki.cc.

References TL.

Referenced by initCarrier(), initModulator(), and Patch().

◆ setWF()

void openmsx::YM2413Okazaki::Patch::setWF ( uint8_t  value)

Set waveform [0..1].

Definition at line 370 of file YM2413Okazaki.cc.

References WF.

Referenced by initCarrier(), and initModulator().

Member Data Documentation

◆ AMPM

uint8_t openmsx::YM2413Okazaki::Patch::AMPM = 0

◆ AR

uint8_t openmsx::YM2413Okazaki::Patch::AR = 0

◆ DR

uint8_t openmsx::YM2413Okazaki::Patch::DR = 0

◆ EG

bool openmsx::YM2413Okazaki::Patch::EG = false

◆ FB

uint8_t openmsx::YM2413Okazaki::Patch::FB

◆ KL

std::span<const uint8_t, 16 * 8> openmsx::YM2413Okazaki::Patch::KL

Definition at line 49 of file YM2413Okazaki.hh.

Referenced by setKL(), and openmsx::YM2413Okazaki::Slot::updateTLL().

◆ KR

uint8_t openmsx::YM2413Okazaki::Patch::KR

Definition at line 53 of file YM2413Okazaki.hh.

Referenced by setKR(), and openmsx::YM2413Okazaki::Slot::updateRKS().

◆ ML

uint8_t openmsx::YM2413Okazaki::Patch::ML

Definition at line 54 of file YM2413Okazaki.hh.

Referenced by setML(), and openmsx::YM2413Okazaki::Slot::updatePG().

◆ RR

uint8_t openmsx::YM2413Okazaki::Patch::RR = 0

◆ SL

unsigned openmsx::YM2413Okazaki::Patch::SL

Definition at line 50 of file YM2413Okazaki.hh.

Referenced by openmsx::YM2413Okazaki::Slot::setEnvelopeState(), and setSL().

◆ TL

uint8_t openmsx::YM2413Okazaki::Patch::TL

Definition at line 55 of file YM2413Okazaki.hh.

Referenced by setTL(), and openmsx::YM2413Okazaki::Slot::updateTLL().

◆ WF

std::span<const unsigned, PG_WIDTH> openmsx::YM2413Okazaki::Patch::WF

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