MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ End()

void MayaFlux::Core::Engine::End ( )

Stops all processing and performs clean shutdown.

Orchestrates the shutdown sequence:

  • Terminates all active tasks and coroutines
  • Stops and closes audio streams
  • Releases all resources and buffers
  • Resets components to uninitialized state

Definition at line 329 of file Engine.cpp.

330{
331 if (!m_is_initialized)
332 return;
333
335
336 if (m_event_manager) {
337 m_event_manager->terminate_all_events();
338 }
339
341 m_node_graph_manager->terminate_active_processing();
342 }
343
345 m_subsystem_manager->stop();
346 }
347
348 if (m_scheduler) {
349 m_scheduler->terminate_all_tasks();
350 }
351
352 if (m_buffer_manager) {
353 m_buffer_manager->terminate_active_buffers();
354 m_buffer_manager.reset();
355 }
356
357 if (m_window_manager) {
358 m_window_manager->set_terminate();
359 auto windows = m_window_manager->get_windows();
360 for (auto& window : windows) {
361 m_window_manager->destroy_window(window, true);
362 }
363 m_window_manager.reset();
364 }
365
367 m_node_graph_manager.reset();
368 }
369
371 m_subsystem_manager->shutdown();
372 }
373
374 m_is_initialized = false;
375 m_is_paused = false;
376}
std::shared_ptr< SubsystemManager > m_subsystem_manager
Definition Engine.hpp:402
std::shared_ptr< Vruta::EventManager > m_event_manager
Event manager (currently only glfw events)
Definition Engine.hpp:404
std::shared_ptr< Buffers::BufferManager > m_buffer_manager
Buffer manager.
Definition Engine.hpp:401
bool m_is_paused
Pause state flag.
Definition Engine.hpp:390
std::shared_ptr< WindowManager > m_window_manager
Window manager (Windowing subsystem)
Definition Engine.hpp:403
std::shared_ptr< Vruta::TaskScheduler > m_scheduler
Task scheduler.
Definition Engine.hpp:399
std::shared_ptr< Nodes::NodeGraphManager > m_node_graph_manager
Node graph manager.
Definition Engine.hpp:400
void shutdown()
Release stored references.
Definition Forma.cpp:168

References m_buffer_manager, m_event_manager, m_is_initialized, m_is_paused, m_node_graph_manager, m_scheduler, m_subsystem_manager, m_window_manager, and MayaFlux::Portal::Forma::shutdown().

Referenced by ~Engine().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: