mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-01-20 04:34:48 +00:00
32 bit float test
32 bit floating point sounds
This commit is contained in:
parent
ebdc408385
commit
c28cedc2d8
|
|
@ -59,15 +59,12 @@ bool SFXSndStream::_readHeader()
|
|||
case SF_FORMAT_PCM_16:
|
||||
bitsPerSample = 16;
|
||||
break;
|
||||
case SF_FORMAT_VORBIS:
|
||||
bitsPerSample = 16;
|
||||
sf_command(sndFile, SFC_SET_SCALE_FLOAT_INT_READ, NULL, SF_TRUE);
|
||||
break;
|
||||
case SF_FORMAT_PCM_24:
|
||||
bitsPerSample = 24;
|
||||
break;
|
||||
case SF_FORMAT_PCM_32:
|
||||
case SF_FORMAT_FLOAT:
|
||||
case SF_FORMAT_VORBIS:
|
||||
bitsPerSample = 32;
|
||||
break;
|
||||
default:
|
||||
|
|
@ -124,7 +121,6 @@ U32 SFXSndStream::read(U8* buffer, U32 length)
|
|||
framesRead = sf_readf_int(sndFile, reinterpret_cast<int*>(buffer), framesToRead);
|
||||
break;
|
||||
case SF_FORMAT_PCM_16:
|
||||
case SF_FORMAT_VORBIS:
|
||||
framesRead = sf_readf_short(sndFile, reinterpret_cast<short*>(buffer), framesToRead);
|
||||
break;
|
||||
case SF_FORMAT_PCM_24:
|
||||
|
|
@ -132,6 +128,7 @@ U32 SFXSndStream::read(U8* buffer, U32 length)
|
|||
break;
|
||||
case SF_FORMAT_PCM_32:
|
||||
case SF_FORMAT_FLOAT:
|
||||
case SF_FORMAT_VORBIS:
|
||||
framesRead = sf_readf_float(sndFile, reinterpret_cast<float*>(buffer), framesToRead);
|
||||
break;
|
||||
default:
|
||||
|
|
|
|||
|
|
@ -84,14 +84,24 @@ class SFXALBuffer : public SFXBuffer
|
|||
return AL_FORMAT_STEREO8;
|
||||
else if( bps == 32 )
|
||||
return AL_FORMAT_STEREO16;
|
||||
else if (bps == 64)
|
||||
{
|
||||
if (alIsExtensionPresent("AL_EXT_FLOAT32"))
|
||||
return AL_FORMAT_STEREO_FLOAT32;
|
||||
}
|
||||
}
|
||||
else if( format.getChannels() == 1 )
|
||||
{
|
||||
const U32 bps = format.getBitsPerSample();
|
||||
if( bps == 8 )
|
||||
if (bps == 8)
|
||||
return AL_FORMAT_MONO8;
|
||||
else if( bps == 16 )
|
||||
else if (bps == 16)
|
||||
return AL_FORMAT_MONO16;
|
||||
else if (bps == 32)
|
||||
{
|
||||
if(alIsExtensionPresent("AL_EXT_FLOAT32"))
|
||||
return AL_FORMAT_MONO_FLOAT32;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -116,4 +126,4 @@ class SFXALBuffer : public SFXBuffer
|
|||
virtual ~SFXALBuffer();
|
||||
};
|
||||
|
||||
#endif // _SFXALBUFFER_H_
|
||||
#endif // _SFXALBUFFER_H_
|
||||
|
|
|
|||
Loading…
Reference in a new issue