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

Audio input buffer management and listener coordination. More...

#include <BufferInputControl.hpp>

+ Collaboration diagram for MayaFlux::Buffers::BufferInputControl:

Public Member Functions

 BufferInputControl ()=default
 Creates a new input control handler.
 
 ~BufferInputControl ()=default
 
void setup_audio_input_buffers (uint32_t num_channels, uint32_t buffer_size)
 Sets up audio input buffers.
 
uint32_t get_audio_input_channel_count () const
 Gets the number of audio input channels.
 
void process_audio_input (double *input_data, uint32_t num_channels, uint32_t num_frames)
 Processes incoming audio input data into input buffers.
 
void register_audio_input_listener (const std::shared_ptr< AudioBuffer > &buffer, uint32_t channel)
 Registers a buffer as a listener to an input channel.
 
void unregister_audio_input_listener (const std::shared_ptr< AudioBuffer > &buffer, uint32_t channel)
 Unregisters a buffer from an input channel.
 

Private Attributes

std::vector< std::shared_ptr< InputAudioBuffer > > m_audio_input_buffers
 Input buffers for capturing audio input data.
 

Detailed Description

Audio input buffer management and listener coordination.

Manages all operations related to audio input handling: input buffer creation, input data processing, and listener registration/unregistration.

Design Principles:

  • Owns input buffers: Manages the lifecycle of input buffer storage
  • Listener coordination: Handles registration/unregistration of buffers listening to input
  • Single responsibility: Only handles input-specific operations
  • Extensible: Can be extended to handle other input types (MIDI, video capture, etc.)

This class encapsulates all input-related logic that was previously scattered throughout BufferManager.

Definition at line 24 of file BufferInputControl.hpp.


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