|
MayaFlux 0.3.0
Digital-First Multimedia Processing Framework
|
Processor implementing delay-line feedback via HistoryBuffer. More...
#include <FeedbackBuffer.hpp>
Inheritance diagram for MayaFlux::Buffers::FeedbackProcessor:
Collaboration diagram for MayaFlux::Buffers::FeedbackProcessor:Public Member Functions | |
| FeedbackProcessor (float feedback=0.5F, uint32_t feed_samples=512) | |
| Construct feedback processor. | |
| void | processing_function (const std::shared_ptr< Buffer > &buffer) override |
| The core processing function that must be implemented by derived classes. | |
| void | on_attach (const std::shared_ptr< Buffer > &buffer) override |
| Called when this processor is attached to a buffer. | |
| void | on_detach (const std::shared_ptr< Buffer > &buffer) override |
| Called when this processor is detached from a buffer. | |
| void | set_feedback (float amount) |
| Set feedback coefficient. | |
| float | get_feedback () const |
| Get feedback coefficient. | |
| void | set_feed_samples (uint32_t samples) |
| Set delay length in samples. | |
| uint32_t | get_feed_samples () const |
| Get delay length in samples. | |
Public Member Functions inherited from MayaFlux::Buffers::BufferProcessor | |
| virtual | ~BufferProcessor ()=default |
| Virtual destructor for proper cleanup of derived classes. | |
| void | process (const std::shared_ptr< Buffer > &buffer) |
| Applies a computational transformation to the data in the provided 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 (const std::shared_ptr< Buffer > &) const |
| Checks if this processor can handle the specified buffer type. | |
Private Attributes | |
| float | m_feedback_amount |
| uint32_t | m_feed_samples |
| Memory::HistoryBuffer< double > | m_history |
| Memory::HistoryBuffer< double > * | m_active_history { nullptr } |
Additional Inherited Members | |
Protected Attributes inherited from MayaFlux::Buffers::BufferProcessor | |
| ProcessingToken | m_processing_token { ProcessingToken::AUDIO_BACKEND } |
Processor implementing delay-line feedback via HistoryBuffer.
Applies a simple delay-line feedback algorithm: output[n] = input[n] + feedback_amount * delayed_sample
When attached to a FeedbackBuffer, uses its internal HistoryBuffer. When attached to any other AudioBuffer, maintains its own HistoryBuffer.
For filtering in the feedback loop (lowpass damping, etc.), chain a FilterProcessor after this processor rather than embedding filter logic.
Definition at line 99 of file FeedbackBuffer.hpp.