21 #include "hx3d/audio/converters/s16_converter.hpp" 26 S16Converter::S16Converter(): Effect() {}
27 S16Converter::~S16Converter() {}
31 _stream =
new short[length/2];
34 short* my_stream = (
short*)_stream;
35 char* str = (
char*)stream;
37 for (
int i = 0; i < length; i += 2) {
40 unsigned char ua = a < 0 ? 127 - a : a;
41 unsigned char ub = b < 0 ? 127 - b : b;
42 unsigned short us = (ua << 8 | ub);
43 short s = us > 32767 ? -(us - 32767) : us;
55 return (
short*)_stream;
virtual void onFunction(const int channel, const void *stream, const int length) override
Audio effect function.
short * getS16Stream()
Get the stream in signed short format.
virtual void onDone(const int channel) override
Audio effect done function.