MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Kakshya::DataProcessor Class Referenceabstract

Interface for processing data within SignalSourceContainer objects. More...

#include <DataProcessor.hpp>

+ Inheritance diagram for MayaFlux::Kakshya::DataProcessor:
+ Collaboration diagram for MayaFlux::Kakshya::DataProcessor:

Public Member Functions

virtual ~DataProcessor ()=default
 Virtual destructor for proper cleanup.
 
virtual void on_attach (std::shared_ptr< SignalSourceContainer > container)=0
 Called when this processor is attached to a container.
 
virtual void on_detach (std::shared_ptr< SignalSourceContainer > container)=0
 Called when this processor is detached from a container.
 
virtual void process (std::shared_ptr< SignalSourceContainer > container)=0
 Processes the data in the container.
 
virtual bool is_processing () const =0
 Checks if the processor is currently performing processing.
 

Detailed Description

Interface for processing data within SignalSourceContainer objects.

DataProcessor defines the interface for components that transform data stored in SignalSourceContainer objects. While conceptually similar to BufferProcessor in the audio buffer domain, DataProcessor operates with greater independence and flexibility, designed specifically for on-demand processing of arbitrary data sources.

Key differences from BufferProcessor:

  • Independence from engine cycle: DataProcessors can be invoked on demand rather than being tied to the audio engine's processing cycle
  • Broader data scope: Operates on arbitrary data sources beyond audio buffers
  • Lifecycle management: Includes explicit attach/detach methods for resource management
  • State tracking: Maintains processing state for asynchronous operations
  • Self-contained: Can operate without dependency on BufferManager or other engine components

DataProcessors enable flexible data transformation workflows that can operate independently of the real-time audio processing path, making them ideal for tasks like:

  • File loading and format conversion
  • Offline processing of large datasets
  • Background analysis and feature extraction
  • Scheduled or event-driven processing
  • Integration with external data sources and sinks

Definition at line 32 of file DataProcessor.hpp.


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