Sound Bakery  v0.1.0
Open-source audio middleware for games
|
Manager of the whole Sound Bakery. More...
#include <system.h>
Public Types | |
enum class | operating_mode { unkown , editor , runtime } |
Public Member Functions | |
auto | get_game_thread_executer () const -> std::shared_ptr< concurrencpp::manual_executor > |
auto | get_listener_game_object () const -> sbk::engine::game_object * |
auto | get_master_bus () const -> sbk::engine::bus * |
auto | get_current_object_owner () -> sbk::core::object_owner * |
auto | set_master_bus (const std::shared_ptr< sbk::engine::bus > &masterBus) -> void |
template<class archive_class > | |
void | serialize (archive_class &archive, const unsigned int version) |
Public Member Functions inherited from sbk::core::object_owner | |
auto | create_runtime_object (const rttr::type &type) -> std::shared_ptr< object > |
auto | create_database_object (const rttr::type &type, bool addToDatabase=true) -> std::shared_ptr< database_object > |
template<typename T > | |
auto | create_runtime_object () -> std::shared_ptr< T > |
template<typename T > | |
auto | create_database_object (bool addToDatabase=true) -> std::shared_ptr< T > |
auto | add_reference_to_object (std::shared_ptr< database_object > &object) -> void |
auto | remove_object (const std::shared_ptr< object > &object) -> std::vector< std::shared_ptr< sbk::core::object > >::iterator |
auto | destroy_all () -> void |
auto | get_objects () -> std::vector< std::shared_ptr< object > > & |
auto | get_objects () const -> const std::vector< std::shared_ptr< object > > & |
auto | get_objects_size () const -> std::size_t |
Public Member Functions inherited from sbk::core::object_tracker | |
void | track_object (object *object) |
void | untrack_object (object *object, std::optional< rttr::type > typeOverride=std::nullopt) |
std::unordered_set< object * > | get_objects_of_category (const SB_OBJECT_CATEGORY &category) const |
std::unordered_set< object * > | get_objects_of_type (const rttr::type &type) const |
auto | get_objects_count () const -> size_t |
auto | get_all_category_to_objects () const -> const std::unordered_map< SB_OBJECT_CATEGORY, std::unordered_set< object * > > & |
auto | get_all_type_to_objects () const -> const std::unordered_map< rttr::type, std::unordered_set< object * > > & |
Public Member Functions inherited from sbk::core::database | |
auto | add_object_to_database (const std::shared_ptr< database_object > &object) -> void |
auto | remove_object_from_database (sbk_id objectID) -> void |
auto | try_find (sbk_id objectID) const -> std::weak_ptr< database_object > |
auto | try_find (std::string_view name) const -> std::weak_ptr< database_object > |
auto | get_all () const -> std::vector< std::weak_ptr< database_object > > |
void | clear_database () noexcept |
Static Public Member Functions | |
static auto | create () -> system * |
static auto | init (const sb_system_config &config) -> sc_result |
static auto | update () -> sc_result |
static auto | destroy () -> void |
static auto | get () -> system * |
static auto | get_operating_mode () -> operating_mode |
static auto | get_project () -> sbk::editor::project * |
static auto | get_voice_tracker () -> sbk::engine::profiling::voice_tracker * |
static auto | open_project (const std::filesystem::path &project_file) -> sc_result |
Creates an instance of Sound Bakery and opens the project. | |
static auto | create_project (const std::filesystem::directory_entry &projectDirectory, const std::string &projectName) -> sc_result |
Creates a project and initializes Sound Bakery. | |
static auto | load_soundbank (const std::filesystem::path &file) -> sb_result |
Friends | |
class | boost::serialization::access |
Additional Inherited Members | |
Public Attributes inherited from sc_system | |
ma_engine | engine |
ma_resource_manager | resourceManager |
ma_log | log |
clap_host_t | clapHost |
sc_clap * | clapPlugins |
sc_node_group * | masterNodeGroup |
Manager of the whole Sound Bakery.
The system tracks all objects created during Sound Bakery's lifetime.
It owns all loaded Soundbanks, listener game object, and busses.