|
MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
|
Buffer processor that applies filter nodes to audio data. More...
#include <FilterProcessor.hpp>
Inheritance diagram for MayaFlux::Buffers::FilterProcessor:
Collaboration diagram for MayaFlux::Buffers::FilterProcessor:Public Member Functions | |
| FilterProcessor ()=default | |
| template<typename... Args> requires std::constructible_from<Nodes::Filters::FIR, Args...> | |
| FilterProcessor (Args &&... args) | |
| Creates processor with FIR filter. | |
| template<typename... Args> requires std::constructible_from<Nodes::Filters::IIR, Args...> | |
| FilterProcessor (Args &&... args) | |
| Creates processor with IIR filter. | |
| FilterProcessor (const std::shared_ptr< Nodes::Filters::Filter > &filter) | |
| Creates processor with external filter node. | |
| void | processing_function (std::shared_ptr< Buffer > buffer) override |
| The core processing function that must be implemented by derived classes. | |
| void | on_attach (std::shared_ptr< Buffer > buffer) override |
| Called when this processor is attached to a buffer. | |
| std::shared_ptr< Nodes::Filters::Filter > | get_filter () const |
| bool | is_using_internal () const |
| void | update_filter_node (const std::shared_ptr< Nodes::Filters::Filter > &filter) |
Public Member Functions inherited from MayaFlux::Buffers::BufferProcessor | |
| virtual | ~BufferProcessor ()=default |
| Virtual destructor for proper cleanup of derived classes. | |
| void | process (std::shared_ptr< Buffer > buffer) |
| Applies a computational transformation to the data in the provided buffer. | |
| virtual void | on_detach (std::shared_ptr< Buffer >) |
| Called when this processor is detached from a buffer. | |
| virtual void | set_processing_token (ProcessingToken token) |
| Gets the preferred processing backend for this processor. | |
| virtual ProcessingToken | get_processing_token () const |
| Gets the current processing token for this buffer. | |
| virtual bool | is_compatible_with (std::shared_ptr< Buffer >) const |
| Checks if this processor can handle the specified buffer type. | |
Private Member Functions | |
| void | process_single_sample (double &sample) |
Private Attributes | |
| std::shared_ptr< Nodes::Filters::Filter > | m_filter |
| std::shared_ptr< Nodes::Filters::Filter > | m_pending_filter |
| bool | m_use_internal {} |
| size_t | m_current_position = 0 |
Additional Inherited Members | |
Protected Attributes inherited from MayaFlux::Buffers::BufferProcessor | |
| ProcessingToken | m_processing_token { ProcessingToken::AUDIO_BACKEND } |
Buffer processor that applies filter nodes to audio data.
This processor connects a Filter node (FIR or IIR) to an AudioBuffer, allowing filtering operations to be applied to buffer data. It supports both internally managed filter nodes and externally provided filter nodes.
Definition at line 21 of file FilterProcessor.hpp.