-
-
Notifications
You must be signed in to change notification settings - Fork 51
Deprecate CreateEffectNode and replace with CreateNode for audio effects #1434
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
No TODO comments were found. |
Minimum allowed line rate is |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request refactors the audio effects architecture by deprecating the CreateEffectNode method and processor-based pattern in favor of a new node-based approach using CreateNode. The change replaces the DelayEffect processor implementation with a dedicated DelayNode, streamlining the audio processing graph architecture.
- Removes the processor abstraction layer (
IAudioEffectProcessor,AudioEffectProcessorGroup,EffectNode) in favor of direct node creation - Implements
DelayNodeas a standalone audio node with improved memory efficiency and animation support - Updates audio effect properties to use
CreateAnimatablefor proper animation support
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Beutl.Engine/Audio/Sound.cs | Updates effect application to use new CreateNode pattern instead of deprecated CreateEffectNode |
| src/Beutl.Engine/Audio/Graph/Nodes/EffectNode.cs | Removes generic effect node wrapper, replaced by effect-specific nodes |
| src/Beutl.Engine/Audio/Graph/Nodes/DelayNode.cs | Adds dedicated delay node with static/animated processing modes and improved memory management |
| src/Beutl.Engine/Audio/Graph/AudioContext.cs | Removes deprecated CreateEffectNode method from context |
| src/Beutl.Engine/Audio/Effects/IAudioEffectProcessor.cs | Removes processor interface, replaced by node-based architecture |
| src/Beutl.Engine/Audio/Effects/DelayEffect.cs | Refactors to create DelayNode directly instead of processor; updates properties to use CreateAnimatable |
| src/Beutl.Engine/Audio/Effects/AudioEffectProcessorGroup.cs | Removes processor group, replaced by Aggregate pattern in AudioEffectGroup |
| src/Beutl.Engine/Audio/Effects/AudioEffectGroup.cs | Simplifies effect chaining using LINQ Aggregate with new CreateNode pattern |
| src/Beutl.Engine/Audio/Effects/AudioEffect.cs | Changes base class API from CreateProcessor to CreateNode |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Description
Deprecate the
CreateEffectNodemethod in favor of the newCreateNodemethod for audio effects, enhancing the audio processing architecture. Replace theDelayEffectprocessor withDelayNode.Breaking changes
The
CreateEffectNodemethod is removed, and all references should be updated to useCreateNode.Fixed issues
No specific issues are fixed in this pull request.