MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Core::GlobalStreamInfo Struct Reference

Comprehensive configuration for digital audio stream processing. More...

#include <GlobalStreamInfo.hpp>

+ Collaboration diagram for MayaFlux::Core::GlobalStreamInfo:

Classes

struct  ChannelConfig
 Configuration for input or output data channels. More...
 
struct  MidiConfig
 Configuration for MIDI data channels. More...
 

Public Types

enum class  AudioFormat : uint8_t {
  FLOAT32 , FLOAT64 , INT16 , INT24 ,
  INT32
}
 Defines the binary representation of audio sample data. More...
 
enum class  AudioApi : uint8_t {
  DEFAULT , ALSA , PULSE , JACK ,
  CORE , WASAPI , ASIO , DS ,
  OSS
}
 Enumeration of supported audio APIs for wrapper backends like RtAudio. More...
 
enum class  StreamPriority : uint8_t { LOW , NORMAL , HIGH , REALTIME }
 Processing priority levels for the audio stream. More...
 
enum class  DitherMethod : uint8_t {
  NONE , RECTANGULAR , TRIANGULAR , GAUSSIAN ,
  SHAPED
}
 Noise shaping algorithms for quantization error mitigation. More...
 

Public Member Functions

uint32_t get_total_channels () const
 Calculates the total number of active channels across all directions.
 
uint32_t get_num_channels () const
 Retrieves the number of output channels.
 

Public Attributes

uint32_t sample_rate = 48000
 Number of samples processed per second (Hz)
 
uint32_t buffer_size = 512
 Number of samples per processing block.
 
AudioApi requested_api = AudioApi::DEFAULT
 Selected audio API for stream processing.
 
AudioFormat format = AudioFormat::FLOAT64
 Sample data format for stream processing.
 
bool non_interleaved = false
 Channel organization mode (true: planar, false: interleaved)
 
ChannelConfig output
 Configuration for output signal channels.
 
ChannelConfig input = { .enabled = false, .channels = 2, .device_id = -1, .device_name = "" }
 Configuration for input signal channels (disabled by default)
 
StreamPriority priority = StreamPriority::REALTIME
 System resource priority for audio processing.
 
double buffer_count = 0.F
 Number of buffers in the processing queue (0 for system default)
 
bool auto_convert_format = true
 Whether to automatically convert between sample formats.
 
bool handle_xruns = true
 Whether to handle buffer underrun/overrun conditions.
 
bool use_callback = true
 Whether to use callback-based processing (vs.
 
double stream_latency_ms = 0.0
 Target latency for stream processing in milliseconds.
 
DitherMethod dither = DitherMethod::NONE
 Dithering algorithm for format conversions.
 
MidiConfig midi_input
 Configuration for MIDI input data.
 
MidiConfig midi_output
 Configuration for MIDI output data.
 
bool measure_latency = false
 Whether to measure and report actual stream latency.
 
bool verbose_logging = false
 Whether to output detailed diagnostic information.
 
std::unordered_map< std::string, std::any > backend_options
 Backend-specific configuration parameters.
 

Detailed Description

Comprehensive configuration for digital audio stream processing.

Defines the technical parameters and operational characteristics for audio data flow throughout the system, including format specifications, buffer configurations, and I/O endpoint settings.

Definition at line 13 of file GlobalStreamInfo.hpp.


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