MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Buffers::ChannelProcessor Class Reference

Processor that implements hierarchical data aggregation for root buffers. More...

#include <RootAudioBuffer.hpp>

+ Inheritance diagram for MayaFlux::Buffers::ChannelProcessor:
+ Collaboration diagram for MayaFlux::Buffers::ChannelProcessor:

Public Member Functions

 ChannelProcessor (std::shared_ptr< Buffer > root_buffer)
 Creates a new channel aggregation processor.
 
void processing_function (std::shared_ptr< Buffer > buffer) override
 Processes a buffer by combining tributary buffers and node network output.
 
void on_attach (std::shared_ptr< Buffer > buffer) override
 Called when processor is attached to a buffer.
 
bool is_compatible_with (std::shared_ptr< Buffer > buffer) const override
 Checks compatibility with a specific buffer type.
 
- 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.
 

Private Attributes

std::shared_ptr< RootAudioBufferm_root_buffer
 Shared pointer to the root buffer this processor manages.
 

Additional Inherited Members

- Protected Attributes inherited from MayaFlux::Buffers::BufferProcessor
ProcessingToken m_processing_token { ProcessingToken::AUDIO_BACKEND }
 

Detailed Description

Processor that implements hierarchical data aggregation for root buffers.

ChannelProcessor is the default processor for RootAudioBuffer objects. It implements a configurable algorithm for combining data from tributary buffers and direct node network output to produce the final output for a channel.

This processor is automatically created and attached to root buffers, but can be replaced with custom aggregation algorithms if needed.

Token Compatibility:

  • Primary Token: AUDIO_BACKEND (sample-rate, CPU, sequential processing)
  • Compatible with other audio processing tokens through token compatibility rules
  • Not compatible with GRAPHICS_BACKEND tokens due to different processing models

Definition at line 150 of file RootAudioBuffer.hpp.


The documentation for this class was generated from the following files: