22 std::lock_guard<std::recursive_mutex> lock(
engine_mutex);
36 std::lock_guard<std::recursive_mutex> lock(
engine_mutex);
75 bool is_same_instance =
false;
89 if (!is_same_instance) {
102void Init(uint32_t sample_rate, uint32_t buffer_size, uint32_t num_out_channels, uint32_t num_in_channels)
105 auto& stream_info = engine.get_stream_info();
107 stream_info.sample_rate = sample_rate;
108 stream_info.buffer_size = buffer_size;
109 stream_info.output.channels = num_out_channels;
110 stream_info.input.channels = num_in_channels;
117 engine.Init(stream_info, graphics_config, input_config, network_config);
Core engine lifecycle and configuration API.
void await_shutdown()
Blocks until shutdown is requested (main thread event loop)
bool is_configured() const
Checks if the engine has been initialized and configured.
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 cleanup_persistent_store()
void Resume()
Resumes audio processing on the default engine.
void Start()
Starts audio processing on the default engine.
bool is_configured()
Checks if the default engine has currently accepted all configurations and initialized all managers.
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.
Configuration for the NetworkSubsystem.
Comprehensive configuration for digital audio stream processing.