MayaFlux 1.0.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 343 of file Engine.cpp.

344{
345 if (!m_is_initialized)
346 return;
347
349
351
352 if (m_event_manager) {
353 m_event_manager->terminate_all_events();
354 }
355
357 m_node_graph_manager->terminate_active_processing();
358 }
359
360 if (m_io_manager) {
361 m_io_manager->stop();
362 }
363
365
366 if (m_io_manager) {
367 m_io_manager->shutdown();
368 }
369
370 if (m_scheduler) {
371 m_scheduler->terminate_all_tasks();
372 }
373
374 if (m_buffer_manager) {
375 m_buffer_manager->terminate_active_buffers();
376 m_buffer_manager.reset();
377 }
378
379 if (m_window_manager) {
380 m_window_manager->set_terminate();
381 auto windows = m_window_manager->get_windows();
382 for (auto& window : windows) {
383 m_window_manager->destroy_window(window, true);
384 }
385 m_window_manager.reset();
386 }
387
389 m_node_graph_manager.reset();
390 }
391
393 m_subsystem_manager->shutdown();
394 }
395
396 m_is_initialized = false;
397 m_is_paused = false;
398}
std::weak_ptr< Core::Window > window
Definition Picker.cpp:23
std::shared_ptr< SubsystemManager > m_subsystem_manager
Definition Engine.hpp:402
std::shared_ptr< IO::IOManager > m_io_manager
IO manager for video/audio loading and dispatch.
Definition Engine.hpp:406
void stop_subsystems()
Stops subsystems while servicing required main thread work on macOS.
Definition Engine.cpp:321
std::shared_ptr< Vruta::EventManager > m_event_manager
Event manager.
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:58
void shutdown()
Shutdown Portal::System and release all resources.
Definition System.cpp:69

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().

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