Compounds | |
class | SoftwareMixer::OutputConvF |
class | SoftwareMixer::Shift |
class | SoftwareMixer::SignType |
Functions | |
SHIFT_SPECIALIZER (u_int8_t) SHIFT_SPECIALIZER(u_int16_t) SHIFT_SPECIALIZER(u_int32_t) SHIFT_SPECIALIZER(unsigned long) SHIFT_SPECIALIZER(int8_t) SHIFT_SPECIALIZER(int16_t) SHIFT_SPECIALIZER(int32_t) template<typename In, typename Out, bool ChangeSign> class SignConvT | |
If the types In and Out are of different sign then make sure the returned value is signed. | |
template<typenameIn, typenameOut> Out | SignConv (In in) |
template<typenameIn, typenameOut, intBits> unsigned long& | VolumeConv (unsigned long& volume) |
Scale the volume to the input and output sample size. More... | |
template<typenameIn, typenameOut, intBits> Out& | XConv (Out& out) |
Scale the output. More... | |
template<typenameIn, typenameOut, intBits> Out | OutputConv (In in, const unsigned long& volume) |
Convert the input type to an output type and scale to the volume. | |
template<typenameIn, typenameOut, intBits> Out | OutputConv2 (In in, const unsigned long& volume) |
Same as OutputConv but with SignConv and XConv manually inlined. | |
template<typenameIn, typenameF> In | Interpolate (In* in, const F& fractional) |
A convenient way to implement linear interpolation. | |
template<typenameIn, typenameOut, intBits> void | MixStereoInterpolated (unsigned long length, unsigned long left, unsigned long right, const Fixed& scale, Fixed& position, const In* const in, Out* out) |
Mix a mono input buffer to a stereo output buffer using interpolation. More... | |
template<typenameIn, typenameOut, intBits> void | MixStereoInterpolatedUnrolled (unsigned long length, unsigned long left, unsigned long right, const Fixed& scale, Fixed& position, const In* const in, Out* out) |
Mix a mono input buffer to a stereo output buffer using interpolation. More... | |
template<typenameIn, typenameOut, intBits> void | MixStereo (unsigned long length, unsigned long left, unsigned long right, const Fixed& scale, Fixed& position, const In* const in, Out* out) |
Mix a mono input buffer to a stereo output buffer. More... | |
template<typenameIn, typenameOut, intBits> void | MixStereoUnrolled (unsigned long length, unsigned long left, unsigned long right, const Fixed& scale, Fixed& position, const In* const in, Out* out) |
Mix a mono input buffer to a stereo output buffer. More... | |
template<typenameIn, typenameOut, intBits> void | MixStereoToStereoDuff (unsigned long length, unsigned long left, unsigned long right, const Fixed& scale, Fixed& position, const In* const in, Out* out) |
template<typenameIn, typenameOut, intBits> void | MixStereoDuff (unsigned long length, unsigned long left, unsigned long right, const Fixed& scale, Fixed& position, const In* const in, Out* out) |
template<typenameIn, typenameOut, intBits> void | MixStereoDuff (unsigned long length, unsigned long left, unsigned long right, const Fixed& scale, Fixed& position, const In* const in, Out* out, Filters::SimpleFilter<In>& opl, Filters::SimpleFilter<In>& opr) |
A mixer that lets you insert a filter between the input and the output. | |
template<typenameIn, typenameOut, intBits> void | MixMono (unsigned long length, unsigned long volume, const Fixed& scale, Fixed& position, const In* const in, Out* out) |
Mix a mono input buffer to a mono output buffer. More... |
|
Mix a mono input buffer to a mono output buffer.
|
|
Mix a mono input buffer to a stereo output buffer.
|
|
Mix a mono input buffer to a stereo output buffer using interpolation.
|
|
Mix a mono input buffer to a stereo output buffer using interpolation. This time the mixer has been unrolled to improve efficiency.
|
|
Mix a mono input buffer to a stereo output buffer.
|
|
Scale the output. Make sure it uses the full set of bits and multiply it by a bit to make it louder 16 channels -- can accomodate more than 16 since not all channels will be at there maximum
|