![]() |
VISR
0.11.8
Versatile Interactive Scene Renderer
|
#include <atomic_component.hpp>
Public Member Functions | |
AtomicComponent (SignalFlowContext const &context, char const *name, CompositeComponent *parent=nullptr) | |
AtomicComponent (AtomicComponent const &)=delete | |
AtomicComponent (AtomicComponent &&)=delete | |
virtual | ~AtomicComponent () override |
virtual void | process ()=0 |
![]() | |
Component (SignalFlowContext const &context, char const *componentName, CompositeComponent *parent) | |
Component (SignalFlowContext const &context, std::string const &componentName, CompositeComponent *parent) | |
Component (Component const &)=delete | |
Component (Component &&)=delete | |
Component & | operator= (Component const &)=delete |
Component & | operator= (Component &&)=delete |
virtual | ~Component () |
std::string const & | name () const |
std::string | fullName () const |
void | status (StatusMessage::Kind status, char const *message) |
template<typename ... MessageArgs> | |
void | status (StatusMessage::Kind status, MessageArgs ... args) |
bool | isComposite () const |
AudioPortBase & | audioPort (char const *portName) |
AudioPortBase const & | audioPort (char const *portName) const |
AudioPortBase & | audioPort (std::string const &portName) |
AudioPortBase const & | audioPort (std::string const &portName) const |
ParameterPortBase & | parameterPort (char const *portName) |
ParameterPortBase const & | parameterPort (char const *portName) const |
ParameterPortBase & | parameterPort (std::string const &portName) |
ParameterPortBase const & | parameterPort (std::string const &portName) const |
SamplingFrequencyType | samplingFrequency () const |
std::size_t | period () const |
bool | isTopLevel () const |
impl::ComponentImplementation & | implementation () |
impl::ComponentImplementation const & | implementation () const |
Additional Inherited Members | |
![]() | |
static const std::string & | nameSeparator () |
![]() | |
Component (impl::ComponentImplementation *impl) | |
Base class for atomic components. These components are at the lowest level in the hierarchy and implement runtime functionality as C++ code. Abstract base class, derived classes must override the virtual method process().
|
explicit |
Constructor.
context | a signal flow context structure containing general parameters, e.g., sampling rate and block size of computation. |
name | Null-terminated character string containing the name. Name must be unique within the containing composite component (if there is one). |
parent | A composite component to contain this atom, If it is a null pointer (the default), then this component is at the top level. |
|
delete |
Deleted copy constructor to avoid copying.
|
delete |
Deleted move constructor to avoid move construction.
|
overridevirtualdefault |
Destructor (virtual). Atomic components are destined to be instantiated and managed polymorphically, thus requiring virtual destructors.
|
pure virtual |
Pure virtual process() function. The overriding methods of base classes are called in regular intervals, each processing a fixed number (context.period()
) number of samples.
Implemented in visr::rcl::DelayMatrix, visr::rcl::BiquadIirFilter, visr::rcl::PanningCalculator, visr::rcl::FirFilterMatrix, visr::rcl::DelayVector, visr::rcl::InterpolatingFirFilterMatrix, visr::rcl::CrossfadingFirFilterMatrix, visr::rcl::GainVector, visr::rcl::GainMatrix, visr::rcl::HoaAllRadGainCalculator, visr::rcl::TimeFrequencyTransform, visr::reverbobject::ReverbParameterCalculator, visr::rcl::SparseGainMatrix, visr::rcl::CAPGainCalculator, visr::reverbobject::LateReverbFilterCalculator, visr::rcl::SignalRouting, visr::rcl::UdpReceiver, visr::rcl::ObjectGainEqCalculator, visr::rcl::ScalarOscDecoder, visr::rcl::UdpSender, visr::rcl::DiffusionGainCalculator, visr::rcl::ChannelObjectRoutingCalculator, visr::rcl::PositionDecoder, visr::rcl::SceneDecoder, visr::rrl::SignalRoutingInternal< SampleType >, visr::rcl::ListenerCompensation, visr::rcl::TimeFrequencyInverseTransform, visr::rcl::SceneEncoder, visr::apps::audio_network_streamer::AudioNetworkEncoder, visr::rcl::Add, visr::rcl::NullSource, visr::impl::test::TestAtom, and visr::python::visr::AtomicComponentWrapper.