Skip to content

AUv2: a host parameter set while the CLAP is deactivated is silently dropped #551

Description

@defiantnerd

Finding AUV2-2 from the 0.16 release review.

The problem

src/wrapasauv2.cpp:775. When the CLAP is deactivated, _processAdapter is null, so a host SetParameter queues nowhere. _requestedFlush is still set, and flushParameters() then flushes an empty _flushAdapter. Nothing re-syncs AU element values into the plugin when it is next activated, so the value is lost outright.

The comment in flush() claims the deactivated path carries exactly this traffic. It does not.

Failure

A host sets kAudioUnitProperty_BypassEffect (which routes through SetBypassEffectSetParameter) on the uninitialized unit at project load. After Initialize, the plugin is not bypassed while the host UI shows that it is.

Suggested fix

Queue onto _flushAdapter when _processAdapter is absent, so the deactivated path actually carries what its comment says it carries.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions