Ingen  0.5.1
Public Member Functions | List of all members
Ingen::Server::Driver Class Referenceabstract

Engine driver base class. More...

#include <Driver.hpp>

+ Inheritance diagram for Ingen::Server::Driver:
+ Collaboration diagram for Ingen::Server::Driver:

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 EnginePortcreate_port (DuplexPort *graph_port)=0
 Create a port ready to be inserted with add_input (non realtime). More...
 
virtual EnginePortget_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...
 

Detailed Description

Engine driver base class.

A Driver is responsible for managing system ports, and possibly running the audio graph.

Member Function Documentation

§ activate()

virtual void Ingen::Server::Driver::activate ( )
inlinevirtual

Activate driver (begin processing graph and events).

Reimplemented in Ingen::Server::JackDriver, and Ingen::Server::DirectDriver.

§ deactivate()

virtual void Ingen::Server::Driver::deactivate ( )
inlinevirtual

Deactivate driver (stop processing graph and events).

Reimplemented in Ingen::Server::JackDriver, and Ingen::Server::DirectDriver.

§ create_port()

virtual EnginePort* Ingen::Server::Driver::create_port ( DuplexPort graph_port)
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.

§ get_port()

virtual EnginePort* Ingen::Server::Driver::get_port ( const Raul::Path &  path)
pure virtual

Find a system port by path.

Implemented in Ingen::Server::JackDriver, and Ingen::Server::DirectDriver.

§ add_port()

virtual void Ingen::Server::Driver::add_port ( RunContext context,
EnginePort port 
)
pure virtual

Add a system visible port (e.g.

a port on the root graph).

Implemented in Ingen::Server::JackDriver, and Ingen::Server::DirectDriver.

§ remove_port()

virtual void Ingen::Server::Driver::remove_port ( RunContext context,
EnginePort port 
)
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.

§ register_port()

virtual void Ingen::Server::Driver::register_port ( EnginePort port)
pure virtual

Register a system visible port.

Implemented in Ingen::Server::JackDriver, and Ingen::Server::DirectDriver.

§ unregister_port()

virtual void Ingen::Server::Driver::unregister_port ( EnginePort port)
pure virtual

Register a system visible port.

Implemented in Ingen::Server::JackDriver, and Ingen::Server::DirectDriver.

§ rename_port()

virtual void Ingen::Server::Driver::rename_port ( const Raul::Path &  old_path,
const Raul::Path &  new_path 
)
pure virtual

Rename a system visible port.

Implemented in Ingen::Server::JackDriver, and Ingen::Server::DirectDriver.

§ port_property()

virtual void Ingen::Server::Driver::port_property ( const Raul::Path &  path,
const Raul::URI &  uri,
const Atom value 
)
pure virtual

Apply a system visible port property.

Implemented in Ingen::Server::JackDriver, and Ingen::Server::DirectDriver.

§ append_time_events()

virtual void Ingen::Server::Driver::append_time_events ( RunContext context,
Buffer buffer 
)
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().

§ real_time_priority()

virtual int Ingen::Server::Driver::real_time_priority ( )
pure virtual

Return the real-time priority of the audio thread, or -1.

Implemented in Ingen::Server::JackDriver, and Ingen::Server::DirectDriver.


The documentation for this class was generated from the following file: