LMMS
Loading...
Searching...
No Matches
Nes_Vrc6_Apu Class Reference

#include <Nes_Vrc6_Apu.h>

Classes

struct  Vrc6_Osc

Public Types

enum  { osc_count = 3 }
enum  { reg_count = 3 }
enum  { base_addr = 0x9000 }
enum  { addr_step = 0x1000 }

Public Member Functions

void reset ()
void volume (double)
void treble_eq (blip_eq_t const &)
void output (Blip_Buffer *)
void osc_output (int index, Blip_Buffer *)
void end_frame (blip_time_t)
void save_state (vrc6_apu_state_t *) const
void load_state (vrc6_apu_state_t const &)
void write_osc (blip_time_t, int osc, int reg, int data)
 Nes_Vrc6_Apu ()

Private Member Functions

 Nes_Vrc6_Apu (const Nes_Vrc6_Apu &)
Nes_Vrc6_Apuoperator= (const Nes_Vrc6_Apu &)
void run_until (blip_time_t)
void run_square (Vrc6_Osc &osc, blip_time_t)
void run_saw (blip_time_t)

Private Attributes

Vrc6_Osc oscs [osc_count]
blip_time_t last_time
Blip_Synth< blip_med_quality, 1 > saw_synth
Blip_Synth< blip_good_quality, 1 > square_synth

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
reg_count 

◆ anonymous enum

anonymous enum
Enumerator
base_addr 

◆ anonymous enum

anonymous enum
Enumerator
addr_step 

◆ anonymous enum

anonymous enum
Enumerator
osc_count 

Constructor & Destructor Documentation

◆ Nes_Vrc6_Apu() [1/2]

Nes_Vrc6_Apu::Nes_Vrc6_Apu ( )

◆ Nes_Vrc6_Apu() [2/2]

Nes_Vrc6_Apu::Nes_Vrc6_Apu ( const Nes_Vrc6_Apu & )
private

Member Function Documentation

◆ end_frame()

void Nes_Vrc6_Apu::end_frame ( blip_time_t time)

◆ load_state()

void Nes_Vrc6_Apu::load_state ( vrc6_apu_state_t const & in)

◆ operator=()

Nes_Vrc6_Apu & Nes_Vrc6_Apu::operator= ( const Nes_Vrc6_Apu & )
private

◆ osc_output()

void Nes_Vrc6_Apu::osc_output ( int index,
Blip_Buffer * buf )
inline

◆ output()

void Nes_Vrc6_Apu::output ( Blip_Buffer * buf)

◆ reset()

void Nes_Vrc6_Apu::reset ( )

◆ run_saw()

void Nes_Vrc6_Apu::run_saw ( blip_time_t end_time)
private

◆ run_square()

void Nes_Vrc6_Apu::run_square ( Vrc6_Osc & osc,
blip_time_t end_time )
private

◆ run_until()

void Nes_Vrc6_Apu::run_until ( blip_time_t time)
private

◆ save_state()

void Nes_Vrc6_Apu::save_state ( vrc6_apu_state_t * out) const

◆ treble_eq()

void Nes_Vrc6_Apu::treble_eq ( blip_eq_t const & eq)
inline

◆ volume()

void Nes_Vrc6_Apu::volume ( double v)
inline

◆ write_osc()

void Nes_Vrc6_Apu::write_osc ( blip_time_t time,
int osc,
int reg,
int data )

Member Data Documentation

◆ last_time

blip_time_t Nes_Vrc6_Apu::last_time
private

◆ oscs

Vrc6_Osc Nes_Vrc6_Apu::oscs[osc_count]
private

◆ saw_synth

Blip_Synth<blip_med_quality,1> Nes_Vrc6_Apu::saw_synth
private

◆ square_synth

Blip_Synth<blip_good_quality,1> Nes_Vrc6_Apu::square_synth
private

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