Ingen
0.5.1
|
Engine driver base class. More...
#include <Driver.hpp>
Public Member Functions | |
virtual void | activate () |
Activate driver (begin processing graph and events). More... | |
virtual void | deactivate () |
Deactivate driver (stop processing graph and events). More... | |
virtual EnginePort * | create_port (DuplexPort *graph_port)=0 |
Create a port ready to be inserted with add_input (non realtime). More... | |
virtual EnginePort * | get_port (const Raul::Path &path)=0 |
Find a system port by path. More... | |
virtual void | add_port (RunContext &context, EnginePort *port)=0 |
Add a system visible port (e.g. More... | |
virtual void | remove_port (RunContext &context, EnginePort *port)=0 |
Remove a system visible port. More... | |
virtual void | register_port (EnginePort &port)=0 |
Register a system visible port. More... | |
virtual void | unregister_port (EnginePort &port)=0 |
Register a system visible port. More... | |
virtual void | rename_port (const Raul::Path &old_path, const Raul::Path &new_path)=0 |
Rename a system visible port. More... | |
virtual void | port_property (const Raul::Path &path, const Raul::URI &uri, const Atom &value)=0 |
Apply a system visible port property. More... | |
virtual SampleCount | block_length () const =0 |
Return the audio buffer size in frames. | |
virtual size_t | seq_size () const =0 |
Return the event buffer size in bytes. | |
virtual SampleCount | sample_rate () const =0 |
Return the sample rate in Hz. | |
virtual SampleCount | frame_time () const =0 |
Return the current frame time (running counter) | |
virtual void | append_time_events (RunContext &context, Buffer &buffer)=0 |
Append time events for this cycle to buffer . More... | |
virtual int | real_time_priority ()=0 |
Return the real-time priority of the audio thread, or -1. More... | |
Engine driver base class.
A Driver is responsible for managing system ports, and possibly running the audio graph.
|
inlinevirtual |
Activate driver (begin processing graph and events).
Reimplemented in Ingen::Server::JackDriver, and Ingen::Server::DirectDriver.
|
inlinevirtual |
Deactivate driver (stop processing graph and events).
Reimplemented in Ingen::Server::JackDriver, and Ingen::Server::DirectDriver.
|
pure virtual |
Create a port ready to be inserted with add_input (non realtime).
May return NULL if the Driver can not create the port for some reason.
Implemented in Ingen::Server::JackDriver, and Ingen::Server::DirectDriver.
|
pure virtual |
Find a system port by path.
Implemented in Ingen::Server::JackDriver, and Ingen::Server::DirectDriver.
|
pure virtual |
Add a system visible port (e.g.
a port on the root graph).
Implemented in Ingen::Server::JackDriver, and Ingen::Server::DirectDriver.
|
pure virtual |
Remove a system visible port.
This removes the port from the driver in the process thread but does not destroy the port. To actually remove the system port, unregister_port() must be called later in another thread.
Implemented in Ingen::Server::JackDriver, and Ingen::Server::DirectDriver.
|
pure virtual |
Register a system visible port.
Implemented in Ingen::Server::JackDriver, and Ingen::Server::DirectDriver.
|
pure virtual |
Register a system visible port.
Implemented in Ingen::Server::JackDriver, and Ingen::Server::DirectDriver.
|
pure virtual |
Rename a system visible port.
Implemented in Ingen::Server::JackDriver, and Ingen::Server::DirectDriver.
|
pure virtual |
Apply a system visible port property.
Implemented in Ingen::Server::JackDriver, and Ingen::Server::DirectDriver.
|
pure virtual |
Append time events for this cycle to buffer
.
Implemented in Ingen::Server::JackDriver, and Ingen::Server::DirectDriver.
Referenced by Ingen::Server::Internals::TimeNode::run().
|
pure virtual |
Return the real-time priority of the audio thread, or -1.
Implemented in Ingen::Server::JackDriver, and Ingen::Server::DirectDriver.