| 416 | } |
| 417 | |
| 418 | void reset(FMOD_DSP_STATE* state) |
| 419 | { |
| 420 | auto effect = reinterpret_cast<State*>(state->plugindata); |
| 421 | if (!effect) |
| 422 | return; |
| 423 | |
| 424 | effect->applyDistanceAttenuation = PARAMETER_USERDEFINED; |
| 425 | effect->applyAirAbsorption = PARAMETER_DISABLE; |
| 426 | effect->applyDirectivity = PARAMETER_DISABLE; |
| 427 | effect->applyOcclusion = PARAMETER_DISABLE; |
| 428 | effect->applyTransmission = PARAMETER_DISABLE; |
| 429 | effect->applyReflections = false; |
| 430 | effect->applyPathing = false; |
| 431 | effect->directBinaural = true; |
| 432 | effect->hrtfInterpolation = IPL_HRTFINTERPOLATION_NEAREST; |
| 433 | effect->distanceAttenuation = 1.0f; |
| 434 | effect->distanceAttenuationRolloffType = FMOD_DSP_PAN_3D_ROLLOFF_INVERSE; |
| 435 | effect->distanceAttenuationMinDistance = 1.0f; |
| 436 | effect->distanceAttenuationMaxDistance = 20.0f; |
| 437 | effect->airAbsorption[0] = 1.0f; |
| 438 | effect->airAbsorption[1] = 1.0f; |
| 439 | effect->airAbsorption[2] = 1.0f; |
| 440 | effect->directivity = 1.0f; |
| 441 | effect->dipoleWeight = 0.0f; |
| 442 | effect->dipolePower = 1.0f; |
| 443 | effect->occlusion = 1.0f; |
| 444 | effect->transmissionType = IPL_TRANSMISSIONTYPE_FREQINDEPENDENT; |
| 445 | effect->transmission[0] = 1.0f; |
| 446 | effect->transmission[1] = 1.0f; |
| 447 | effect->transmission[2] = 1.0f; |
| 448 | effect->reflectionsBinaural = false; |
| 449 | effect->reflectionsMixLevel = 1.0f; |
| 450 | effect->pathingBinaural = false; |
| 451 | effect->pathingMixLevel = 1.0f; |
| 452 | effect->pathingNormalizeEQ = false; |
| 453 | effect->attenuationRange.min = 1.0f; |
| 454 | effect->attenuationRange.max = 20.0f; |
| 455 | effect->attenuationRangeSet = false; |
| 456 | effect->outputFormat = ParameterSpeakerFormatType::PARAMETER_FROM_MIXER; |
| 457 | |
| 458 | effect->simulationSource[0] = nullptr; |
| 459 | effect->simulationSource[1] = nullptr; |
| 460 | effect->newSimulationSourceWritten = false; |
| 461 | |
| 462 | effect->prevDirectMixLevel = 1.0f; |
| 463 | effect->prevReflectionsMixLevel = 0.0f; |
| 464 | effect->prevPathingMixLevel = 0.0f; |
| 465 | |
| 466 | effect->panningState = IPL_AUDIOEFFECTSTATE_TAILCOMPLETE; |
| 467 | effect->binauralState = IPL_AUDIOEFFECTSTATE_TAILCOMPLETE; |
| 468 | effect->directState = IPL_AUDIOEFFECTSTATE_TAILCOMPLETE; |
| 469 | effect->reflectionState = IPL_AUDIOEFFECTSTATE_TAILCOMPLETE; |
| 470 | effect->pathState = IPL_AUDIOEFFECTSTATE_TAILCOMPLETE; |
| 471 | effect->ambisonicsState = IPL_AUDIOEFFECTSTATE_TAILCOMPLETE; |
| 472 | effect->hasTail = false; |
| 473 | effect->shouldProcessTail = false; |
| 474 | } |
| 475 | |