3#include "sound_bakery/core/core_include.h"
4#include "sound_bakery/parameter/parameter.h"
5#include "sound_bakery/voice/voice.h"
18 void postEvent(
Event* event);
20 void stopVoice(
Voice* voice);
26 bool isPlaying()
const noexcept;
28 std::size_t voiceCount()
const noexcept;
30 Voice* getVoice(std::size_t index)
const;
43 auto found = m_parameters.floatParameters.find(parameter);
45 if (found != m_parameters.floatParameters.cend())
47 result = found->second.get();
53 result = parameter.
raw()->get();
71 auto found = m_parameters.intParameters.find(parameter);
73 if (found != m_parameters.intParameters.cend())
75 result = found->second.get();
81 result = parameter.
raw()->get();
90 m_parameters.floatParameters[parameterValue.first].set(parameterValue.second);
93 void setIntParameterValue(
const NamedParameter::LocalParameterValuePair& parameterValue)
95 if (m_parameters.intParameters.find(parameterValue.first) == m_parameters.intParameters.cend())
98 parameterValuePtr.lookup();
99 parameterValuePtr->parentParameter.lookup();
101 m_parameters.intParameters.insert(parameterValuePtr->parentParameter->createLocalParameterFromThis());
104 m_parameters.intParameters[parameterValue.first].set(parameterValue.second);
106 assert(m_parameters.intParameters[parameterValue.first].get() == parameterValue.second);
109 LocalParameterList getLocalParameters()
const {
return m_parameters; }
112 std::vector<std::unique_ptr<Voice>> m_voices;
113 LocalParameterList m_parameters;
Definition database_ptr.h:23
bool lookup() const
Find the live object referenced by the ID and store it.
Definition database_ptr.h:142
TObjectPtr raw() const noexcept
Get raw pointer of the referenced object.
Definition database_ptr.h:95
Simple base Object that all Sound Bakery objects should inherit from.
Definition object.h:33
Base container type. Inherited types include sounds, random, sequence etc.
Definition container.h:49
Definition gameobject.h:13
SB_ID getIntParameterValue(const SB::Core::DatabasePtr< NamedParameter > ¶meter) const
Finds the parameter value on this gameobject.
Definition gameobject.h:67
float getFloatParameterValue(const SB::Core::DatabasePtr< FloatParameter > ¶meter) const
Finds the parameter value on this gameobject.
Definition gameobject.h:39
std::pair< SB_ID, float > LocalParameterValuePair
Defines an ID to a parameter and a value for that parameter.
Definition parameter.h:39
A runtime graph of nodes and busses, playing a sound or many.
Definition voice.h:17