Skip to content

Buffered audio frames in an AudioEffectRecordInstance are lost upon calling AudioServer::_update_bus_effects #75041

Open
@Rubonnek

Description

@Rubonnek

Godot version

3.x branch at commit 16df341

System information

Arch Linux

Issue description

Buffered audio frames through an AudioEffectRecordInstance are lost upon calling AudioServer::_update_bus_effects, which is called when a new audio effect gets added.

This happens because AudioEffectRecordInstance::instance() creates a brand new instance instead of using the currently available one.

Ref<AudioEffectInstance> fx = buses.write[p_bus]->effects.write[j].effect->instance();

Steps to reproduce

Run the MRP attached below. See the gdscript file within the project for more details.

Minimal reproduction project

audio_record_reset_bug.zip

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions