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

#include <Multi_Buffer.h>

Inheritance diagram for Stereo_Buffer:
Multi_Buffer

Public Member Functions

Blip_Buffercenter ()
Blip_Bufferleft ()
Blip_Bufferright ()
 Stereo_Buffer ()
 ~Stereo_Buffer ()
blargg_err_t set_sample_rate (long, 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 samples_avail () const
long read_samples (blip_sample_t *, long)
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  { buf_count = 3 }

Private Member Functions

void mix_stereo_no_center (blip_sample_t *, blargg_long)
void mix_stereo (blip_sample_t *, blargg_long)
void mix_mono (blip_sample_t *, blargg_long)

Private Attributes

Blip_Buffer bufs [buf_count]
channel_t chan
int stereo_added
int was_stereo

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 Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
buf_count 

Constructor & Destructor Documentation

◆ Stereo_Buffer()

Stereo_Buffer::Stereo_Buffer ( )

◆ ~Stereo_Buffer()

Stereo_Buffer::~Stereo_Buffer ( )

Member Function Documentation

◆ bass_freq()

void Stereo_Buffer::bass_freq ( int bass)
virtual

Implements Multi_Buffer.

◆ center()

Blip_Buffer * Stereo_Buffer::center ( )
inline

◆ channel()

channel_t Stereo_Buffer::channel ( int ,
int  )
inlinevirtual

Implements Multi_Buffer.

◆ clear()

void Stereo_Buffer::clear ( )
virtual

Implements Multi_Buffer.

◆ clock_rate()

void Stereo_Buffer::clock_rate ( long rate)
virtual

Implements Multi_Buffer.

◆ end_frame()

void Stereo_Buffer::end_frame ( blip_time_t clock_count)
virtual

Implements Multi_Buffer.

◆ left()

Blip_Buffer * Stereo_Buffer::left ( )
inline

◆ mix_mono()

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

◆ mix_stereo()

void Stereo_Buffer::mix_stereo ( blip_sample_t * out_,
blargg_long count )
private

◆ mix_stereo_no_center()

void Stereo_Buffer::mix_stereo_no_center ( blip_sample_t * out_,
blargg_long count )
private

◆ read_samples()

long Stereo_Buffer::read_samples ( blip_sample_t * out,
long count )
virtual

Implements Multi_Buffer.

◆ right()

Blip_Buffer * Stereo_Buffer::right ( )
inline

◆ samples_avail()

long Stereo_Buffer::samples_avail ( ) const
inlinevirtual

Implements Multi_Buffer.

◆ set_sample_rate()

blargg_err_t Stereo_Buffer::set_sample_rate ( long rate,
int msec = blip_default_length )
virtual

Implements Multi_Buffer.

Member Data Documentation

◆ bufs

Blip_Buffer Stereo_Buffer::bufs[buf_count]
private

◆ chan

channel_t Stereo_Buffer::chan
private

◆ stereo_added

int Stereo_Buffer::stereo_added
private

◆ was_stereo

int Stereo_Buffer::was_stereo
private

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