Skip to content

Conversation

@yuto-trd
Copy link
Member

@yuto-trd yuto-trd commented Dec 5, 2025

Description

Deprecate the CreateEffectNode method in favor of the new CreateNode method for audio effects, enhancing the audio processing architecture. Replace the DelayEffect processor with DelayNode.

Breaking changes

The CreateEffectNode method is removed, and all references should be updated to use CreateNode.

Fixed issues

No specific issues are fixed in this pull request.

Copilot AI review requested due to automatic review settings December 5, 2025 13:49
@github-actions
Copy link
Contributor

github-actions bot commented Dec 5, 2025

No TODO comments were found.

@github-actions
Copy link
Contributor

github-actions bot commented Dec 5, 2025

Code Coverage

Package Line Rate Branch Rate Complexity Health
Beutl.Operators 4% 0% 76
Beutl.Core 34% 31% 3142
Beutl.Engine 27% 24% 9774
Beutl.Threading 100% 94% 118
Beutl.Utilities 73% 67% 358
Beutl.Configuration 38% 19% 282
Beutl.Extensibility 2% 0% 105
Beutl.ProjectSystem 16% 10% 1852
Beutl.Language 0% 0% 656
Summary 27% (10551 / 38999) 25% (2807 / 11027) 16363

Minimum allowed line rate is 0%

Copy link
Contributor

Copilot AI left a 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 DelayNode as a standalone audio node with improved memory efficiency and animation support
  • Updates audio effect properties to use CreateAnimatable for 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.

@yuto-trd yuto-trd merged commit fd865ed into main Dec 5, 2025
10 checks passed
@yuto-trd yuto-trd deleted the feat/deprecate-audio-effect-processor branch December 5, 2025 14:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants