![]() |
DSPatch v.9.7.5
|
Workspace for adding and routing components. More...
#include <Circuit.h>
Public Member Functions | |
NONCOPYABLE (Circuit) | |
bool | AddComponent (const Component::SPtr &component) |
bool | RemoveComponent (const Component::SPtr &component) |
void | RemoveAllComponents () |
int | GetComponentCount () const |
bool | ConnectOutToIn (const Component::SPtr &fromComponent, int fromOutput, const Component::SPtr &toComponent, int toInput) |
bool | DisconnectComponent (const Component::SPtr &component) |
void | DisconnectAllComponents () |
void | SetBufferCount (int bufferCount) |
int | GetBufferCount () const |
void | Tick () |
void | Sync () |
void | StartAutoTick () |
void | StopAutoTick () |
void | PauseAutoTick () |
void | ResumeAutoTick () |
Workspace for adding and routing components.
Components can be added to a Circuit via the AddComponent() method, and routed to and from other components via the ConnectOutToIn() method.
NOTE: Each component input can only accept a single "wire" at a time. When a wire is connected to an input that already has a connected wire, that wire is replaced with the new one. One output, on the other hand, can be distributed to multiple inputs.
To boost performance in stream processing circuits, multi-buffering can be enabled via the SetBufferCount() method. A circuit's buffer count can be adjusted at runtime.
The Circuit Tick() method runs through its internal array of components and calls each component's Tick() and Reset() methods once. A circuit's Tick() method can be called in a loop from the main application thread, or alternatively, by calling StartAutoTick(), a separate thread will spawn, automatically calling Tick() continuously until PauseAutoTick() or StopAutoTick() is called.