31#include <dspatch/SignalBus.h>
77 using SPtr = std::shared_ptr<Component>;
79 enum class ProcessOrder
85 Component( ProcessOrder processOrder = ProcessOrder::InOrder );
88 bool ConnectInput(
const Component::SPtr& fromComponent,
int fromOutput,
int toInput );
90 void DisconnectInput(
int inputNo );
91 void DisconnectInput(
const Component::SPtr& fromComponent );
92 void DisconnectAllInputs();
94 int GetInputCount()
const;
95 int GetOutputCount()
const;
97 std::string GetInputName(
int inputNo )
const;
98 std::string GetOutputName(
int outputNo )
const;
100 void SetBufferCount(
int bufferCount,
int startBuffer = 0 );
101 int GetBufferCount()
const;
103 void Tick(
int bufferNo = 0 );
104 void Reset(
int bufferNo = 0 );
109 void SetInputCount_(
int inputCount,
const std::vector<std::string>& inputNames = {} );
110 void SetOutputCount_(
int outputCount,
const std::vector<std::string>& outputNames = {} );
113 internal::Component* p;
Abstract base class for DSPatch components.