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

#include <Effects_Buffer.h>

Inheritance diagram for Effects_Buffer:
Multi_Buffer

Classes

struct  config_t

Public Member Functions

 Effects_Buffer (int nVoices=1, bool center_only=false)
virtual void config (const config_t &)
void set_depth (double)
 ~Effects_Buffer ()
blargg_err_t set_sample_rate (long samples_per_sec, int msec=blip_default_length)
void clock_rate (long)
void bass_freq (int)
void clear ()
channel_t channel (int, int)
void end_frame (blip_time_t)
long read_samples (blip_sample_t *, long)
long samples_avail () const
Public Member Functions inherited from Multi_Buffer
 Multi_Buffer (int samples_per_frame)
virtual ~Multi_Buffer ()
virtual blargg_err_t set_channel_count (int)
long sample_rate () const
int length () const
int samples_per_frame () const
unsigned channels_changed_count ()

Private Types

enum  { max_buf_count = 7 }
enum  { chan_types_count = 3 }
typedef long fixed_t

Private Member Functions

void mix_mono (blip_sample_t *, blargg_long)
void mix_stereo (blip_sample_t *, blargg_long)
void mix_enhanced (blip_sample_t *, blargg_long)
void mix_mono_enhanced (blip_sample_t *, blargg_long)

Private Attributes

int max_voices
std::vector< Blip_Bufferbufs
std::vector< channel_tchan_types
config_t config_
long stereo_remain
long effect_remain
int buf_count
bool effects_enabled
std::vector< std::vector< blip_sample_t > > reverb_buf
std::vector< std::vector< blip_sample_t > > echo_buf
std::vector< intreverb_pos
std::vector< intecho_pos
struct { 
   fixed_t   pan_1_levels [2] 
   fixed_t   pan_2_levels [2] 
   int   echo_delay_l 
   int   echo_delay_r 
   fixed_t   echo_level 
   int   reverb_delay_l 
   int   reverb_delay_r 
   fixed_t   reverb_level 
chans

Additional Inherited Members

Public Types inherited from Multi_Buffer
enum  { type_index_mask = 0xFF }
enum  { wave_type = 0x100 , noise_type = 0x200 , mixed_type = wave_type | noise_type }
Protected Member Functions inherited from Multi_Buffer
void channels_changed ()

Member Typedef Documentation

◆ fixed_t

typedef long Effects_Buffer::fixed_t
private

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
chan_types_count 

◆ anonymous enum

anonymous enum
private
Enumerator
max_buf_count 

Constructor & Destructor Documentation

◆ Effects_Buffer()

Effects_Buffer::Effects_Buffer ( int nVoices = 1,
bool center_only = false )

◆ ~Effects_Buffer()

Effects_Buffer::~Effects_Buffer ( )

Member Function Documentation

◆ bass_freq()

void Effects_Buffer::bass_freq ( int freq)
virtual

Implements Multi_Buffer.

◆ channel()

Effects_Buffer::channel_t Effects_Buffer::channel ( int i,
int type )
virtual

Implements Multi_Buffer.

◆ clear()

void Effects_Buffer::clear ( )
virtual

Implements Multi_Buffer.

◆ clock_rate()

void Effects_Buffer::clock_rate ( long rate)
virtual

Implements Multi_Buffer.

◆ config()

void Effects_Buffer::config ( const config_t & cfg)
virtual

◆ end_frame()

void Effects_Buffer::end_frame ( blip_time_t clock_count)
virtual

Implements Multi_Buffer.

◆ mix_enhanced()

void Effects_Buffer::mix_enhanced ( blip_sample_t * out_,
blargg_long frames )
private

◆ mix_mono()

void Effects_Buffer::mix_mono ( blip_sample_t * out_,
blargg_long count )
private

◆ mix_mono_enhanced()

void Effects_Buffer::mix_mono_enhanced ( blip_sample_t * out_,
blargg_long frames )
private

◆ mix_stereo()

void Effects_Buffer::mix_stereo ( blip_sample_t * out_,
blargg_long frames )
private

◆ read_samples()

long Effects_Buffer::read_samples ( blip_sample_t * out,
long total_samples )
virtual

Implements Multi_Buffer.

◆ samples_avail()

long Effects_Buffer::samples_avail ( ) const
virtual

Implements Multi_Buffer.

◆ set_depth()

void Effects_Buffer::set_depth ( double d)

◆ set_sample_rate()

blargg_err_t Effects_Buffer::set_sample_rate ( long samples_per_sec,
int msec = blip_default_length )
virtual

Implements Multi_Buffer.

Member Data Documentation

◆ buf_count

int Effects_Buffer::buf_count
private

◆ bufs

std::vector<Blip_Buffer> Effects_Buffer::bufs
private

◆ chan_types

std::vector<channel_t> Effects_Buffer::chan_types
private

◆ [struct]

struct { ... } Effects_Buffer::chans

◆ config_

config_t Effects_Buffer::config_
private

◆ echo_buf

std::vector<std::vector<blip_sample_t> > Effects_Buffer::echo_buf
private

◆ echo_delay_l

int Effects_Buffer::echo_delay_l

◆ echo_delay_r

int Effects_Buffer::echo_delay_r

◆ echo_level

fixed_t Effects_Buffer::echo_level

◆ echo_pos

std::vector<int> Effects_Buffer::echo_pos
private

◆ effect_remain

long Effects_Buffer::effect_remain
private

◆ effects_enabled

bool Effects_Buffer::effects_enabled
private

◆ max_voices

int Effects_Buffer::max_voices
private

◆ pan_1_levels

fixed_t Effects_Buffer::pan_1_levels[2]

◆ pan_2_levels

fixed_t Effects_Buffer::pan_2_levels[2]

◆ reverb_buf

std::vector<std::vector<blip_sample_t> > Effects_Buffer::reverb_buf
private

◆ reverb_delay_l

int Effects_Buffer::reverb_delay_l

◆ reverb_delay_r

int Effects_Buffer::reverb_delay_r

◆ reverb_level

fixed_t Effects_Buffer::reverb_level

◆ reverb_pos

std::vector<int> Effects_Buffer::reverb_pos
private

◆ stereo_remain

long Effects_Buffer::stereo_remain
private

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