|
MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
|
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. | |
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.