Skip to content

refactor: AudioParam#1182

Merged
mdydek merged 7 commits into
mainfrom
refactor/audio-param
Jul 24, 2026
Merged

refactor: AudioParam#1182
mdydek merged 7 commits into
mainfrom
refactor/audio-param

Conversation

@SomePersonFromMars

Copy link
Copy Markdown
Collaborator

Closes RNAA-479

⚠️ Breaking changes ⚠️

  • Processed AudioParam output is now clamped to [minValue, maxValue] (spec § 1.6.3). Intrinsic automation math stays unclamped; clipping happens only after modulation in finalize*.

Introduced changes

The PR is an implementation of the AudioParam refactor plan.

  • Added GeneralizedAudioParam / CompositeAudioParam and migrated Oscillator, BiquadFilter, and AudioBufferSource computed values onto composites (idempotent processKRate/processARate).
  • Centralized nominal-range clipping at the process output boundary (not in intrinsic getValueAtTimeUnmodulated).
  • Expanded C++ tests for automation clipping (spec overshooting ramp + linear/exp/target/curve/cancelAndHold cases) and composite param behavior.

Checklist

  • Linked relevant issue
  • Updated relevant documentation
  • Added/Conducted relevant tests
  • Performed self-review of the code
  • Updated Web Audio API coverage
  • Added support for web
  • Updated old arch android spec file

@maciejmakowski2003 maciejmakowski2003 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does API use param value caching anywhere or it is just hypothetical optimization?

Comment thread .claude/skills/audio-nodes/SKILL.md Outdated
@SomePersonFromMars SomePersonFromMars changed the title Refactor/AudioParam refactor: AudioParam Jul 23, 2026
@mdydek
mdydek merged commit 192560c into main Jul 24, 2026
8 checks passed
@mdydek
mdydek deleted the refactor/audio-param branch July 24, 2026 13:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants