Ingen
0.5.1
|
The engine which executes the process graph. More...
#include <EngineBase.hpp>
Public Member Functions | |
virtual void | init (double sample_rate, uint32_t block_length, size_t seq_size)=0 |
Initialise the engine for local use (e.g. More... | |
virtual bool | activate ()=0 |
Activate the engine. | |
virtual void | deactivate ()=0 |
Deactivate the engine. | |
virtual void | listen ()=0 |
Begin listening on network sockets. | |
virtual bool | pending_events ()=0 |
Return true iff events are waiting to be processed. | |
virtual void | locate (uint32_t start, uint32_t sample_count)=0 |
Locate to a given cycle. | |
virtual unsigned | run (uint32_t sample_count)=0 |
Process audio for sample_count frames. More... | |
virtual void | quit ()=0 |
Indicate that a quit is desired. More... | |
virtual bool | main_iteration ()=0 |
Run a single iteration of the main context. More... | |
virtual void | register_client (SPtr< Interface > client)=0 |
Register a client to receive updates about engine changes. | |
virtual bool | unregister_client (SPtr< Interface > client)=0 |
Unregister a client. | |
The engine which executes the process graph.
|
pure virtual |
Initialise the engine for local use (e.g.
without a Jack driver).
sample_rate | Audio sampling rate in Hz. |
block_length | Audio block length (i.e. buffer size) in frames. |
seq_size | Sequence buffer size in bytes. |
Implemented in Ingen::Server::Engine.
|
pure virtual |
Process audio for sample_count
frames.
If the return value is non-zero, events have been processed and are awaiting to be finalised (including responding and announcing any changes to clients) via a call to main_iteration().
Implemented in Ingen::Server::Engine.
|
pure virtual |
Indicate that a quit is desired.
This function simply sets a flag which affects the return value of main_iteration, it does not actually force the engine to stop running or block. The code driving the engine is responsible for stopping and cleaning up when main_iteration returns false.
Implemented in Ingen::Server::Engine.
|
pure virtual |
Run a single iteration of the main context.
The main context post-processes events and performs housekeeping duties like collecting garbage. This should be called regularly, e.g. a few times per second. The return value indicates whether execution should continue; i.e. if false is returned, a quit has been requested and the caller should cease calling main_iteration() and stop the engine.
Implemented in Ingen::Server::Engine.