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 343 of file Engine.cpp.
344{
346 return;
347
349
351
354 }
355
358 }
359
362 }
363
365
368 }
369
372 }
373
377 }
378
382 for (
auto&
window : windows) {
384 }
386 }
387
390 }
391
394 }
395
398}
std::weak_ptr< Core::Window > window
std::shared_ptr< SubsystemManager > m_subsystem_manager
std::shared_ptr< IO::IOManager > m_io_manager
IO manager for video/audio loading and dispatch.
void stop_subsystems()
Stops subsystems while servicing required main thread work on macOS.
std::shared_ptr< Vruta::EventManager > m_event_manager
Event manager.
std::shared_ptr< Buffers::BufferManager > m_buffer_manager
Buffer manager.
bool m_is_paused
Pause state flag.
std::shared_ptr< WindowManager > m_window_manager
Window manager (Windowing subsystem)
std::shared_ptr< Vruta::TaskScheduler > m_scheduler
Task scheduler.
std::shared_ptr< Nodes::NodeGraphManager > m_node_graph_manager
Node graph manager.
void shutdown()
Shutdown Portal::System and release all resources.
References m_buffer_manager, m_event_manager, m_io_manager, m_is_initialized, m_is_paused, m_node_graph_manager, m_scheduler, m_subsystem_manager, m_window_manager, MayaFlux::Portal::Forma::shutdown(), MayaFlux::Portal::System::shutdown(), stop_subsystems(), and window.
Referenced by ~Engine().