Sound Bakery  v0.1.0
Open-source audio middleware for games
Loading...
Searching...
No Matches
sbk::engine::system Class Referencefinal

Manager of the whole sound Bakery. More...

#include <system.h>

Inheritance diagram for sbk::engine::system:
Collaboration diagram for sbk::engine::system:

Public Member Functions

sbk::core::object_ownercurrent_object_owner ()
 Returns the current object owner. Either a project or soundbank runtime.
 
std::shared_ptr< concurrencpp::manual_executor > game_thread_executer () const
 
sbk::engine::game_objectget_listener_game_object () const
 
sbk::engine::busget_master_bus () const
 
void set_master_bus (const std::shared_ptr< sbk::engine::bus > &masterBus)
 
- Public Member Functions inherited from sbk::core::object_owner
std::shared_ptr< objectcreate_runtime_object (const rttr::type &type)
 
std::shared_ptr< objectload_object (YAML::Node &node)
 
std::shared_ptr< database_objectcreate_database_object (const rttr::type &type, bool addToDatabase=true)
 
template<typename T >
std::shared_ptr< Tcreate_runtime_object ()
 
template<typename T >
std::shared_ptr< Tcreate_database_object ()
 
void remove_object (const std::shared_ptr< object > &object)
 
void destroy_all ()
 
std::vector< std::shared_ptr< object > > & get_objects ()
 
const std::vector< std::shared_ptr< object > > & get_objects () const
 
- 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
 
- Public Member Functions inherited from sbk::core::database
void add_object_to_database (const std::shared_ptr< database_object > &object)
 
void remove_object_from_database (sbk_id objectID)
 
std::weak_ptr< database_objecttry_find (sbk_id objectID) const
 
std::weak_ptr< database_objecttry_find (std::string_view name) const
 
std::vector< std::weak_ptr< database_object > > get_all () const
 
void clear_database () noexcept
 

Static Public Member Functions

static systemget ()
 
static systemcreate ()
 
static void destroy ()
 
static sc_result init ()
 
static sc_result update ()
 
static sc_result open_project (const std::filesystem::path &project_file)
 Creates an instance of sound Bakery and opens the project.
 
static sbk::editor::projectget_project ()
 

Additional Inherited Members

- Public Attributes inherited from sc_system
ma_engine engine
 
ma_resource_manager resourceManager
 
ma_log log
 
sc_node_groupmasterNodeGroup
 

Detailed Description

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.


The documentation for this class was generated from the following files: