21 std::lock_guard<std::recursive_mutex> lock(
engine_mutex);
34 std::lock_guard<std::recursive_mutex> lock(
engine_mutex);
65 bool is_same_instance =
false;
79 if (!is_same_instance) {
92void Init(uint32_t sample_rate, uint32_t buffer_size, uint32_t num_out_channels, uint32_t num_in_channels)
95 auto& stream_info = engine.get_stream_info();
97 stream_info.sample_rate = sample_rate;
98 stream_info.buffer_size = buffer_size;
99 stream_info.output.channels = num_out_channels;
100 stream_info.input.channels = num_in_channels;
107 engine.Init(stream_info);
113 engine.Init(stream_info, graphics_config);
Core engine lifecycle and configuration API.
void await_shutdown()
Blocks until shutdown is requested (main thread event loop)
void Resume()
Resumes processing from paused state.
void Start()
Starts the coordinated processing of all subsystems.
void Pause()
Pauses all processing while maintaining system state.
Central lifecycle manager and component orchestrator for the MayaFlux processing system.
static void shutdown()
Shutdown the logging system.
std::recursive_mutex engine_mutex
std::unique_ptr< Core::Engine > engine_ref
Core::Engine & get_or_create_engine()
void Resume()
Resumes audio processing on the default engine.
void Start()
Starts audio processing on the default engine.
void Pause()
Pauses audio processing on the default engine.
void Init()
Initializes the default engine with default settings.
void set_and_transfer_context(Core::Engine instance)
Replaces the default engine with a new instance.
Core::Engine & get_context()
Gets the default engine instance.
void Await()
Blocks launcher until user input (optional convenience function)
bool is_initialized()
Checks if the default engine has been initialized.
void End()
Stops and cleans up the default engine.
Main namespace for the Maya Flux audio engine.
Comprehensive configuration for digital audio stream processing.