Next on the list is adding a few more arguments for certain functions
This commit is contained in:
parent
a8c44364e5
commit
8939455bb9
|
@ -304,11 +304,11 @@ void FAudio_Output::close()
|
||||||
|
|
||||||
if (sVoice) {
|
if (sVoice) {
|
||||||
if (playing) {
|
if (playing) {
|
||||||
HRESULT hr = sVoice->FAudioSourceVoice_Stop(0);
|
HRESULT hr = FAudioSourceVoice_Stop(sVoice, 0);
|
||||||
assert(hr == S_OK);
|
assert(hr == S_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
sVoice->FAudioVoice_DestroyVoice();
|
FAudioVoice_DestroyVoice(sVoice);
|
||||||
sVoice = NULL;
|
sVoice = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -318,7 +318,7 @@ void FAudio_Output::close()
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mVoice) {
|
if (mVoice) {
|
||||||
mVoice->FAudioVoice_DestroyVoice();
|
FAudioVoice_DestroyVoice(mVoice);
|
||||||
mVoice = NULL;
|
mVoice = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -369,7 +369,8 @@ bool FAudio_Output::init(long sampleRate)
|
||||||
wfx.nBlockAlign = wfx.nChannels * (wfx.wBitsPerSample / 8);
|
wfx.nBlockAlign = wfx.nChannels * (wfx.wBitsPerSample / 8);
|
||||||
wfx.nAvgBytesPerSec = wfx.nSamplesPerSec * wfx.nBlockAlign;
|
wfx.nAvgBytesPerSec = wfx.nSamplesPerSec * wfx.nBlockAlign;
|
||||||
// create sound receiver
|
// create sound receiver
|
||||||
hr = faud->FAudio_CreateMasteringVoice(
|
hr = FAudio_CreateMasteringVoice(
|
||||||
|
faud,
|
||||||
&mVoice,
|
&mVoice,
|
||||||
FAUDIO_DEFAULT_CHANNELS,
|
FAUDIO_DEFAULT_CHANNELS,
|
||||||
FAUDIO_DEFAULT_SAMPLERATE,
|
FAUDIO_DEFAULT_SAMPLERATE,
|
||||||
|
@ -386,7 +387,7 @@ bool FAudio_Output::init(long sampleRate)
|
||||||
// create sound emitter
|
// create sound emitter
|
||||||
//This should be FAudio_CreateSourceVoice()
|
//This should be FAudio_CreateSourceVoice()
|
||||||
//hr = faud->CreateSourceVoice(&sVoice, &wfx, 0, 4.0f, ¬ify);
|
//hr = faud->CreateSourceVoice(&sVoice, &wfx, 0, 4.0f, ¬ify);
|
||||||
hr = faud->FAudio_CreateSourceVoice(&sVoice, &wfx, 0, 4.0f, ¬ify);
|
hr = FAudio_CreateSourceVoice(faud, &sVoice, &wfx, 0, 4.0f, ¬ify);
|
||||||
|
|
||||||
if (hr != S_OK) {
|
if (hr != S_OK) {
|
||||||
wxLogError(_("FAudio: Creating source voice failed!"));
|
wxLogError(_("FAudio: Creating source voice failed!"));
|
||||||
|
@ -398,7 +399,7 @@ bool FAudio_Output::init(long sampleRate)
|
||||||
// set up stereo upmixing
|
// set up stereo upmixing
|
||||||
FAudioDeviceDetails dd;
|
FAudioDeviceDetails dd;
|
||||||
ZeroMemory(&dd, sizeof(dd));
|
ZeroMemory(&dd, sizeof(dd));
|
||||||
hr = faud->FAudio_GetDeviceDetails(0, &dd);
|
hr = FAudio_GetDeviceDetails(faud, 0, &dd);
|
||||||
assert(hr == S_OK);
|
assert(hr == S_OK);
|
||||||
float* matrix = NULL;
|
float* matrix = NULL;
|
||||||
matrix = (float*)malloc(sizeof(float) * 2 * dd.OutputFormat.Format.nChannels);
|
matrix = (float*)malloc(sizeof(float) * 2 * dd.OutputFormat.Format.nChannels);
|
||||||
|
@ -495,7 +496,7 @@ bool FAudio_Output::init(long sampleRate)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (matrixAvailable) {
|
if (matrixAvailable) {
|
||||||
hr = sVoice->FAudioVoice_SetOutputMatrix(NULL, 2, dd.OutputFormat.Format.nChannels, matrix);
|
hr = FAudioVoice_SetOutputMatrix(sVoice, NULL, 2, dd.OutputFormat.Format.nChannels, matrix);
|
||||||
assert(hr == S_OK);
|
assert(hr == S_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -503,7 +504,7 @@ bool FAudio_Output::init(long sampleRate)
|
||||||
matrix = NULL;
|
matrix = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
hr = sVoice->FAudioSourceVoice_Start(0);
|
hr = FAudioSourceVoice_Start(sVoice, 0);
|
||||||
assert(hr == S_OK);
|
assert(hr == S_OK);
|
||||||
playing = true;
|
playing = true;
|
||||||
currentBuffer = 0;
|
currentBuffer = 0;
|
||||||
|
@ -525,7 +526,7 @@ void FAudio_Output::write(uint16_t* finalWave, int length)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
sVoice->FAudioSourceVoice_GetState(&vState);
|
FAudioSourceVoice_GetState(sVoice, &vState);
|
||||||
assert(vState.BuffersQueued <= bufferCount);
|
assert(vState.BuffersQueued <= bufferCount);
|
||||||
|
|
||||||
if (vState.BuffersQueued < bufferCount) {
|
if (vState.BuffersQueued < bufferCount) {
|
||||||
|
@ -559,7 +560,7 @@ void FAudio_Output::write(uint16_t* finalWave, int length)
|
||||||
buf.pAudioData = &buffers[currentBuffer * soundBufferLen];
|
buf.pAudioData = &buffers[currentBuffer * soundBufferLen];
|
||||||
currentBuffer++;
|
currentBuffer++;
|
||||||
currentBuffer %= (bufferCount + 1); // + 1 because we need one temporary buffer
|
currentBuffer %= (bufferCount + 1); // + 1 because we need one temporary buffer
|
||||||
HRESULT hr = sVoice->SubmitSourceBuffer(&buf); // send buffer to queue
|
HRESULT hr = FAudioSourceVoice_SubmitSourceBuffer(sVoice, &buf); // send buffer to queue
|
||||||
assert(hr == S_OK);
|
assert(hr == S_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -569,7 +570,7 @@ void FAudio_Output::pause()
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (playing) {
|
if (playing) {
|
||||||
HRESULT hr = sVoice->FAudioSourceVoice_Stop(0);
|
HRESULT hr = FAudioSourceVoice_Stop(sVoice, 0);
|
||||||
assert(hr == S_OK);
|
assert(hr == S_OK);
|
||||||
playing = false;
|
playing = false;
|
||||||
}
|
}
|
||||||
|
@ -581,7 +582,7 @@ void FAudio_Output::resume()
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!playing) {
|
if (!playing) {
|
||||||
HRESULT hr = sVoice->FAudioSourceVoice_Start(0);
|
HRESULT hr = FAudioSourceVoice_Start(sVoice, 0);
|
||||||
assert(hr == S_OK);
|
assert(hr == S_OK);
|
||||||
playing = true;
|
playing = true;
|
||||||
}
|
}
|
||||||
|
@ -593,12 +594,12 @@ void FAudio_Output::reset()
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (playing) {
|
if (playing) {
|
||||||
HRESULT hr = sVoice->FAudioSourceVoice_Stop(0);
|
HRESULT hr = FAudioSourceVoice_Stop(sVoice, 0);
|
||||||
assert(hr == S_OK);
|
assert(hr == S_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
sVoice->FlushSourceBuffers();
|
FAudioSourceVoice_FlushSourceBuffers(sVoice);
|
||||||
sVoice->FAudioSourceVoice_Start(0);
|
FAudioSourceVoice_Start(sVoice, 0);
|
||||||
playing = true;
|
playing = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -610,7 +611,7 @@ void FAudio_Output::setThrottle(unsigned short throttle_)
|
||||||
if (throttle_ == 0)
|
if (throttle_ == 0)
|
||||||
throttle_ = 100;
|
throttle_ = 100;
|
||||||
|
|
||||||
HRESULT hr = sVoice->SetFrequencyRatio((float)throttle_ / 100.0f);
|
HRESULT hr = FAudioSourceVoice_SetFrequencyRatio(sVoice, (float)throttle_ / 100.0f);
|
||||||
assert(hr == S_OK);
|
assert(hr == S_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue