42 public concurrencpp::runtime,
43 public boost::noncopyable
45 REGISTER_REFLECTION(
system)
49 enum class operating_mode
60 static auto create() ->
system*;
62 static auto update() -> sc_result;
63 static auto destroy() -> void;
65 [[nodiscard]]
static auto get() ->
system*;
66 [[nodiscard]]
static auto get_operating_mode() -> operating_mode;
69 [[nodiscard]]
auto get_game_thread_executer()
const -> std::shared_ptr<concurrencpp::manual_executor>;
77 static auto open_project(
const std::filesystem::path& project_file) -> sc_result;
82 static auto create_project(
const std::filesystem::directory_entry& projectDirectory,
83 const std::string& projectName) -> sc_result;
85 static auto load_soundbank(
const std::filesystem::path& file) -> sb_result;
87 auto set_master_bus(
const std::shared_ptr<sbk::engine::bus>& masterBus) -> void;
89 friend class boost::serialization::access;
91 template <
class archive_
class>
92 void serialize(archive_class& archive,
const unsigned int version)
97 bool m_registeredReflection =
false;
99 std::shared_ptr<sbk::engine::game_object> m_listenerGameObject;
100 std::shared_ptr<sbk::engine::bus> m_masterBus;
101 std::unique_ptr<sbk::editor::project> m_project;
102 std::unique_ptr<profiling::voice_tracker> m_voiceTracker;
103 std::shared_ptr<concurrencpp::manual_executor> m_gameThreadExecuter;
104 std::shared_ptr<spdlog::logger> m_logger;
Object that manages the node graph, sounds, output etc.
Definition sound_chef_common.h:239