Sound Bakery  v0.1.0
Open-source audio middleware for games
Loading...
Searching...
No Matches
sbk::engine::sound_container Class Reference
Inheritance diagram for sbk::engine::sound_container:
Collaboration diagram for sbk::engine::sound_container:

Public Member Functions

void gather_children_for_play (gather_children_context &context) const override
 Collects and gathers sounds on this node and its children for play.
 
bool can_add_children () const override
 
bool can_add_child_type (const rttr::type &childType) const override
 
bool can_add_parent_type (const rttr::type &parentType) const override
 
soundget_sound () const
 
void set_sound (const sbk::core::database_ptr< sbk::engine::sound > &sound)
 
- Public Member Functions inherited from sbk::engine::node
virtual void gatherParameters (global_parameter_list &parameters)
 Gathers all parameters on this and child nodes that can effect the runtime output.
 
void add_effect (sc_dsp_type type)
 
auto add_effect_clap (clap_plugin_factory_t *clapFactory) -> void
 
- Public Member Functions inherited from sbk::engine::node_base
virtual void set_parent_node (const sbk::core::database_ptr< node_base > &parent)
 
virtual void set_output_bus (const sbk::core::database_ptr< node_base > &bus)
 
node_baseget_parent () const
 
node_baseget_output_bus () const
 
SB_NODE_STATUS getNodeStatus () const noexcept
 
bool can_add_child (const sbk::core::database_ptr< node_base > &child) const
 
virtual bool can_add_parent () const
 
void addChild (const sbk::core::database_ptr< node_base > &child)
 
void removeChild (const sbk::core::database_ptr< node_base > &child)
 
std::vector< node_base * > getChildren () const
 
std::size_t getChildCount () const
 
bool hasChild (const sbk::core::database_ptr< node_base > &test) const
 
void gatherAllDescendants (std::vector< node_base * > &descendants) const
 
void gatherAllParents (std::vector< node_base * > &parents) const
 
- Public Member Functions inherited from sbk::core::database_object
auto get_database_id () const -> sbk_id
 
auto get_database_name () const -> std::string_view
 
auto get_editor_hidden () const -> bool
 
auto set_database_id (sbk_id id) -> void
 
auto set_database_name (std::string_view name) -> void
 
auto set_editor_hidden (bool hidden) -> void
 
 operator sbk_id () const
 
auto get_on_update_id () -> MulticastDelegate< sbk_id, sbk_id > &
 
auto get_on_update_name () -> MulticastDelegate< std::string_view, std::string_view > &
 
- Public Member Functions inherited from sbk::core::object
template<typename T >
auto casted_shared_from_this () -> std::shared_ptr< T >
 
template<typename T >
auto try_convert_object () noexcept -> T *
 Gets the most derived type of this object and upcasts it to T.
 
template<typename T >
auto try_convert_object () const noexcept -> const T *
 Const version of try_convert_object.
 
auto destroy () -> void
 
auto get_object_type () const -> rttr::type
 
auto get_owner () const -> object_owner *
 
auto get_owner_object () const -> object *
 
auto get_on_destroy () -> MulticastDelegate< object * > &
 
auto get_flags () const -> object_flags
 
auto set_flags (object_flags flagsToSet) -> void
 
auto clear_flags (object_flags flagsToClear) -> void
 
auto has_flag (object_flags flagsToCheck) -> bool
 
template<class archive_class >
void serialize (archive_class &archive, const unsigned int fileVersion)
 
- 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
 

Additional Inherited Members

- Public Attributes inherited from sbk::engine::node
sbk::core::float_property m_volume = sbk::core::float_property(1.0f, 0.0f, 1.0f)
 
sbk::core::float_property m_pitch = sbk::core::float_property(1.0f, 0.0f, 1.0f)
 
sbk::core::float_property m_lowpass = sbk::core::float_property(1.0f, 0.0f, 100.0f)
 
sbk::core::float_property m_highpass = sbk::core::float_property(1.0f, 0.0f, 100.0f)
 
std::vector< sbk::core::database_ptr< effect_description > > m_effectDescriptions
 
- Protected Member Functions inherited from sbk::engine::node
virtual void gatherParametersFromThis (global_parameter_list &parameters)
 Appends parameters from this node that are relevant to the runtime output.
 
- Protected Attributes inherited from sbk::engine::node_base
sbk::core::database_ptr< node_basem_parentNode
 
sbk::core::database_ptr< node_basem_outputBus
 
std::unordered_set< sbk::core::database_ptr< node_base > > m_childNodes
 

Member Function Documentation

◆ can_add_child_type()

bool sbk::engine::sound_container::can_add_child_type ( const rttr::type &  childType) const
inlineoverridevirtual

Reimplemented from sbk::engine::container.

◆ can_add_children()

bool sbk::engine::sound_container::can_add_children ( ) const
inlineoverridevirtual

Reimplemented from sbk::engine::node_base.

◆ can_add_parent_type()

bool sbk::engine::sound_container::can_add_parent_type ( const rttr::type &  parentType) const
overridevirtual

Reimplemented from sbk::engine::node_base.

◆ gather_children_for_play()

void sbk::engine::sound_container::gather_children_for_play ( gather_children_context context) const
overridevirtual

Collects and gathers sounds on this node and its children for play.

Given a context object with parameters relevant to the local reference, chooses which sounds/containers to play.

Parameters
contextfor this gather sounds call.

Implements sbk::engine::container.


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