Next on the list is adding a few more arguments for certain functions

This commit is contained in:
ZachBacon 2018-12-25 17:47:21 -05:00
parent a8c44364e5
commit 8939455bb9
1 changed files with 17 additions and 16 deletions

View File

@ -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, &notify); //hr = faud->CreateSourceVoice(&sVoice, &wfx, 0, 4.0f, &notify);
hr = faud->FAudio_CreateSourceVoice(&sVoice, &wfx, 0, 4.0f, &notify); hr = FAudio_CreateSourceVoice(faud, &sVoice, &wfx, 0, 4.0f, &notify);
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);
} }