Main Page | Class Hierarchy | Compound List | File List | Compound Members | File Members | Related Pages

Mixer Class Reference

#include <mixing.h>

Collaboration diagram for Mixer:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Mixer (emuEngine *aEmuEngine, sidEmu *aSidEmu)
 ~Mixer ()
void MixerInit (bool threeVoiceAmplify, ubyte zero8, uword zero16)
void syncEm ()
void * fillFunc (void *buffer, udword bufferLen)
void * fill8bitMono (void *buffer, udword numberOfSamples)
void * fill8bitMonoControl (void *buffer, udword numberOfSamples)
void * fill8bitStereo (void *buffer, udword numberOfSamples)
void * fill8bitStereoControl (void *buffer, udword numberOfSamples)
void * fill8bitStereoSurround (void *buffer, udword numberOfSamples)
void * fill8bitsplit (void *buffer, udword numberOfSamples)
void * fill16bitMono (void *buffer, udword numberOfSamples)
void * fill16bitMonoControl (void *buffer, udword numberOfSamples)
void * fill16bitStereo (void *buffer, udword numberOfSamples)
void * fill16bitStereoControl (void *buffer, udword numberOfSamples)
void * fill16bitStereoSurround (void *buffer, udword numberOfSamples)
void * fill16bitsplit (void *buffer, udword numberOfSamples)

Public Attributes

void *(Mixer::* sidEmuFillFunc )(void *, udword)

Private Attributes

friend emuEngine
sidEmuiTheSidEmu
ubyte mix8mono [256 *maxLogicalVoices]
ubyte mix8stereo [256 *(maxLogicalVoices/2)]
uword mix16mono [256 *maxLogicalVoices]
uword mix16stereo [256 *(maxLogicalVoices/2)]
sbytesignedPanMix8
swordsignedPanMix16
ubyte zero8bit
uword zero16bit
udword splitBufferLen
SampleiTheSampler

Constructor & Destructor Documentation

Mixer::Mixer emuEngine aEmuEngine,
sidEmu aSidEmu
 

Definition at line 24 of file mixing.cpp.

References CTOR, fill8bitMono(), sidEmu::iTheSampler, iTheSampler, iTheSidEmu, and sidEmuFillFunc.

Mixer::~Mixer  ) 
 

Definition at line 36 of file mixing.cpp.

References DTOR, and iTheSampler.


Member Function Documentation

void * Mixer::fill16bitMono void *  buffer,
udword  numberOfSamples
 

Definition at line 256 of file mixing.cpp.

References buffer, iTheSampler, iTheSidEmu, mix16mono, optr1, optr2, optr3, Sample::sampleEmuRout, sword, and syncEm().

Referenced by emuEngine::initMixerEngine().

void * Mixer::fill16bitMonoControl void *  buffer,
udword  numberOfSamples
 

Definition at line 271 of file mixing.cpp.

References buffer, iTheSampler, iTheSidEmu, optr1, optr2, optr3, Sample::sampleEmuRout, signedPanMix16, sword, syncEm(), voice4_gainLeft, and zero16bit.

Referenced by emuEngine::initMixerEngine().

void * Mixer::fill16bitsplit void *  buffer,
udword  numberOfSamples
 

Definition at line 358 of file mixing.cpp.

References buffer, iTheSampler, iTheSidEmu, optr1, optr2, optr3, Sample::sampleEmuRout, sidEmu::splitBufferLen, sword, syncEm(), and zero16bit.

Referenced by emuEngine::initMixerEngine().

void * Mixer::fill16bitStereo void *  buffer,
udword  numberOfSamples
 

Definition at line 286 of file mixing.cpp.

References buffer, iTheSampler, iTheSidEmu, mix16stereo, optr1, optr2, optr3, Sample::sampleEmuRout, sword, and syncEm().

Referenced by emuEngine::initMixerEngine().

void * Mixer::fill16bitStereoControl void *  buffer,
udword  numberOfSamples
 

Definition at line 304 of file mixing.cpp.

References buffer, iTheSampler, iTheSidEmu, optr1, optr2, optr3, Sample::sampleEmuRout, sbyte, signedPanMix16, sword, syncEm(), voice4_gainLeft, voice4_gainRight, and zero16bit.

Referenced by emuEngine::initMixerEngine().

void * Mixer::fill16bitStereoSurround void *  buffer,
udword  numberOfSamples
 

Definition at line 331 of file mixing.cpp.

References buffer, iTheSampler, iTheSidEmu, optr1, optr2, optr3, Sample::sampleEmuRout, sbyte, signedPanMix16, sword, syncEm(), voice4_gainLeft, voice4_gainRight, and zero16bit.

Referenced by emuEngine::initMixerEngine().

void * Mixer::fill8bitMono void *  buffer,
udword  numberOfSamples
 

Definition at line 133 of file mixing.cpp.

References buffer, iTheSampler, iTheSidEmu, mix8mono, optr1, optr2, optr3, Sample::sampleEmuRout, syncEm(), and ubyte.

Referenced by emuEngine::initMixerEngine(), and Mixer().

void * Mixer::fill8bitMonoControl void *  buffer,
udword  numberOfSamples
 

Definition at line 148 of file mixing.cpp.

References buffer, iTheSampler, iTheSidEmu, optr1, optr2, optr3, Sample::sampleEmuRout, signedPanMix8, syncEm(), ubyte, voice4_gainLeft, and zero8bit.

Referenced by emuEngine::initMixerEngine().

void * Mixer::fill8bitsplit void *  buffer,
udword  numberOfSamples
 

Definition at line 235 of file mixing.cpp.

References buffer, iTheSampler, iTheSidEmu, optr1, optr2, optr3, Sample::sampleEmuRout, sidEmu::splitBufferLen, syncEm(), ubyte, and zero8bit.

Referenced by emuEngine::initMixerEngine().

void * Mixer::fill8bitStereo void *  buffer,
udword  numberOfSamples
 

Definition at line 163 of file mixing.cpp.

References buffer, iTheSampler, iTheSidEmu, mix8stereo, optr1, optr2, optr3, Sample::sampleEmuRout, syncEm(), and ubyte.

Referenced by emuEngine::initMixerEngine().

void * Mixer::fill8bitStereoControl void *  buffer,
udword  numberOfSamples
 

Definition at line 181 of file mixing.cpp.

References buffer, iTheSampler, iTheSidEmu, optr1, optr2, optr3, Sample::sampleEmuRout, sbyte, signedPanMix8, syncEm(), ubyte, voice4_gainLeft, voice4_gainRight, and zero8bit.

Referenced by emuEngine::initMixerEngine().

void * Mixer::fill8bitStereoSurround void *  buffer,
udword  numberOfSamples
 

Definition at line 208 of file mixing.cpp.

References buffer, iTheSampler, iTheSidEmu, optr1, optr2, optr3, Sample::sampleEmuRout, sbyte, signedPanMix8, syncEm(), ubyte, voice4_gainLeft, voice4_gainRight, and zero8bit.

Referenced by emuEngine::initMixerEngine().

void* Mixer::fillFunc void *  buffer,
udword  bufferLen
[inline]
 

Definition at line 34 of file mixing.h.

References buffer, and sidEmuFillFunc.

Referenced by sidEmu::sidEmuFillBuffer().

void Mixer::MixerInit bool  threeVoiceAmplify,
ubyte  zero8,
uword  zero16
 

Definition at line 42 of file mixing.cpp.

References mix16mono, mix16stereo, mix8mono, mix8stereo, ubyte, uword, zero16bit, and zero8bit.

Referenced by emuEngine::initMixerEngine().

void Mixer::syncEm  )  [inline]
 

Definition at line 88 of file mixing.cpp.

References optr1, optr2, optr3, and sidEmu::waveCalcNormal().

Referenced by fill16bitMono(), fill16bitMonoControl(), fill16bitsplit(), fill16bitStereo(), fill16bitStereoControl(), fill16bitStereoSurround(), fill8bitMono(), fill8bitMonoControl(), fill8bitsplit(), fill8bitStereo(), fill8bitStereoControl(), and fill8bitStereoSurround().


Member Data Documentation

friend Mixer::emuEngine [private]
 

Definition at line 27 of file mixing.h.

Sample* Mixer::iTheSampler [private]
 

Definition at line 69 of file mixing.h.

Referenced by fill16bitMono(), fill16bitMonoControl(), fill16bitsplit(), fill16bitStereo(), fill16bitStereoControl(), fill16bitStereoSurround(), fill8bitMono(), fill8bitMonoControl(), fill8bitsplit(), fill8bitStereo(), fill8bitStereoControl(), fill8bitStereoSurround(), Mixer(), and ~Mixer().

sidEmu* Mixer::iTheSidEmu [private]
 

Definition at line 55 of file mixing.h.

Referenced by fill16bitMono(), fill16bitMonoControl(), fill16bitsplit(), fill16bitStereo(), fill16bitStereoControl(), fill16bitStereoSurround(), fill8bitMono(), fill8bitMonoControl(), fill8bitsplit(), fill8bitStereo(), fill8bitStereoControl(), fill8bitStereoSurround(), and Mixer().

uword Mixer::mix16mono[256*maxLogicalVoices] [private]
 

Definition at line 59 of file mixing.h.

Referenced by fill16bitMono(), and MixerInit().

uword Mixer::mix16stereo[256*(maxLogicalVoices/2)] [private]
 

Definition at line 60 of file mixing.h.

Referenced by fill16bitStereo(), and MixerInit().

ubyte Mixer::mix8mono[256*maxLogicalVoices] [private]
 

Definition at line 57 of file mixing.h.

Referenced by fill8bitMono(), and MixerInit().

ubyte Mixer::mix8stereo[256*(maxLogicalVoices/2)] [private]
 

Definition at line 58 of file mixing.h.

Referenced by fill8bitStereo(), and MixerInit().

void*(Mixer::* Mixer::sidEmuFillFunc)(void*, udword)
 

Referenced by fillFunc(), emuEngine::initMixerEngine(), and Mixer().

sword* Mixer::signedPanMix16 [private]
 

Definition at line 63 of file mixing.h.

Referenced by emuEngine::allocMem(), fill16bitMonoControl(), fill16bitStereoControl(), fill16bitStereoSurround(), emuEngine::freeMem(), and emuEngine::initMixerEngine().

sbyte* Mixer::signedPanMix8 [private]
 

Definition at line 62 of file mixing.h.

Referenced by emuEngine::allocMem(), fill8bitMonoControl(), fill8bitStereoControl(), fill8bitStereoSurround(), emuEngine::freeMem(), and emuEngine::initMixerEngine().

udword Mixer::splitBufferLen [private]
 

Definition at line 67 of file mixing.h.

uword Mixer::zero16bit [private]
 

Definition at line 66 of file mixing.h.

Referenced by fill16bitMonoControl(), fill16bitsplit(), fill16bitStereoControl(), fill16bitStereoSurround(), and MixerInit().

ubyte Mixer::zero8bit [private]
 

Definition at line 65 of file mixing.h.

Referenced by fill8bitMonoControl(), fill8bitsplit(), fill8bitStereoControl(), fill8bitStereoSurround(), and MixerInit().


The documentation for this class was generated from the following files:
Generated on Tue Feb 8 04:33:42 2005 for Esidplay by doxygen 1.3.3