|
Ingen
0.5.1
|
The engine which executes the process graph. More...
#include <EngineBase.hpp>
Inheritance diagram for Ingen::EngineBase: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.
1.8.12