Compare commits
1 commit
153907fdd8
...
7ca1d3dbdc
Author | SHA1 | Date | |
---|---|---|---|
7ca1d3dbdc |
1 changed files with 21 additions and 1 deletions
|
@ -162,6 +162,12 @@ Result InfoUpdater::UpdateEffectsVersion1(EffectContext& effect_context, const b
|
||||||
reinterpret_cast<EffectInfoBase::OutStatusVersion1*>(output), effect_count};
|
reinterpret_cast<EffectInfoBase::OutStatusVersion1*>(output), effect_count};
|
||||||
|
|
||||||
for (u32 i = 0; i < effect_count; i++) {
|
for (u32 i = 0; i < effect_count; i++) {
|
||||||
|
#ifdef _WIN32
|
||||||
|
// There's a bug in Windows where using this effect causes extreme noise. So let's skip it.
|
||||||
|
if (in_params[i].type == EffectInfoBase::Type::Reverb) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
auto effect_info{&effect_context.GetInfo(i)};
|
auto effect_info{&effect_context.GetInfo(i)};
|
||||||
if (effect_info->GetType() != in_params[i].type) {
|
if (effect_info->GetType() != in_params[i].type) {
|
||||||
effect_info->ForceUnmapBuffers(pool_mapper);
|
effect_info->ForceUnmapBuffers(pool_mapper);
|
||||||
|
@ -209,6 +215,12 @@ Result InfoUpdater::UpdateEffectsVersion2(EffectContext& effect_context, const b
|
||||||
reinterpret_cast<EffectInfoBase::OutStatusVersion2*>(output), effect_count};
|
reinterpret_cast<EffectInfoBase::OutStatusVersion2*>(output), effect_count};
|
||||||
|
|
||||||
for (u32 i = 0; i < effect_count; i++) {
|
for (u32 i = 0; i < effect_count; i++) {
|
||||||
|
#ifdef _WIN32
|
||||||
|
// There's a bug in Windows where using this effect causes extreme noise. So let's skip it.
|
||||||
|
if (in_params[i].type == EffectInfoBase::Type::Reverb) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
auto effect_info{&effect_context.GetInfo(i)};
|
auto effect_info{&effect_context.GetInfo(i)};
|
||||||
if (effect_info->GetType() != in_params[i].type) {
|
if (effect_info->GetType() != in_params[i].type) {
|
||||||
effect_info->ForceUnmapBuffers(pool_mapper);
|
effect_info->ForceUnmapBuffers(pool_mapper);
|
||||||
|
@ -302,7 +314,15 @@ Result InfoUpdater::UpdateMixes(MixContext& mix_context, const u32 mix_buffer_co
|
||||||
auto mix_info{mix_context.GetInfo(mix_id)};
|
auto mix_info{mix_context.GetInfo(mix_id)};
|
||||||
if (mix_info->in_use != params.in_use) {
|
if (mix_info->in_use != params.in_use) {
|
||||||
mix_info->in_use = params.in_use;
|
mix_info->in_use = params.in_use;
|
||||||
mix_dirty |= mix_info->Update(mix_context.GetEdgeMatrix(), params, effect_context, splitter_context, behaviour);
|
if (!params.in_use) {
|
||||||
|
mix_info->ClearEffectProcessingOrder();
|
||||||
|
}
|
||||||
|
mix_dirty = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (params.in_use) {
|
||||||
|
mix_dirty |= mix_info->Update(mix_context.GetEdgeMatrix(), params, effect_context,
|
||||||
|
splitter_context, behaviour);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue