|
Ingen
0.5.1
|
An object on the audio graph (a Graph, Block, or Port). More...
#include <NodeImpl.hpp>
Inheritance diagram for Ingen::Server::NodeImpl:
Collaboration diagram for Ingen::Server::NodeImpl:Public Member Functions | |
| const Raul::Symbol & | symbol () const |
| Node * | graph_parent () const |
| NodeImpl * | parent () const |
| virtual void | set_path (const Raul::Path &new_path) |
| Rename. | |
| const Atom & | get_property (const Raul::URI &key) const |
| Get a single property value. More... | |
| virtual GraphImpl * | parent_graph () const |
| The Graph this object is a child of. More... | |
| const Raul::Path & | path () const |
| virtual bool | prepare_poly (BufferFactory &bufs, uint32_t poly)=0 |
| Prepare for a new (external) polyphony value. More... | |
| virtual bool | apply_poly (RunContext &context, Raul::Maid &maid, uint32_t poly)=0 |
| Apply a new (external) polyphony value. More... | |
Public Member Functions inherited from Ingen::Node | |
| Arcs & | arcs () |
| const Arcs & | arcs () const |
| virtual uint32_t | num_ports () const |
| virtual Node * | port (uint32_t index) const |
| virtual const Resource * | plugin () const |
| virtual LilvInstance * | instance () |
| virtual bool | save_state (const std::string &dir) const |
| virtual GraphType | graph_type () const =0 |
| Raul::URI | base_uri () const |
Public Member Functions inherited from Ingen::Resource | |
| Resource (const URIs &uris, const Raul::URI &uri) | |
| Resource & | operator= (const Resource &rhs) |
| virtual const Atom & | set_property (const Raul::URI &uri, const Atom &value, Graph ctx=Graph::DEFAULT) |
| Set (replace) a property value. More... | |
| virtual const Atom & | set_property (const Raul::URI &uri, const URIs::Quark &value, Graph ctx=Graph::DEFAULT) |
| Set (replace) a property value. More... | |
| virtual bool | add_property (const Raul::URI &uri, const Atom &value, Graph ctx=Graph::DEFAULT) |
| Add a property value. More... | |
| virtual void | remove_property (const Raul::URI &uri, const Atom &value) |
| Remove a property. More... | |
| virtual void | remove_property (const Raul::URI &uri, const URIs::Quark &value) |
| Remove a property. More... | |
| virtual bool | has_property (const Raul::URI &uri, const Atom &value) const |
| Return true iff a property is set with a specific value. More... | |
| virtual bool | has_property (const Raul::URI &uri, const URIs::Quark &value) const |
| Return true iff a property is set with a specific value. More... | |
| void | set_properties (const Properties &p) |
| Set (replace) several properties at once. More... | |
| void | add_properties (const Properties &p) |
| Add several properties at once. More... | |
| void | remove_properties (const Properties &p) |
| Remove several properties at once. More... | |
| virtual void | on_property (const Raul::URI &uri, const Atom &value) |
| Hook called whenever a property is added. More... | |
| virtual void | on_property_removed (const Raul::URI &uri, const Atom &value) |
| Hook called whenever a property value is removed. More... | |
| virtual void | set_uri (const Raul::URI &uri) |
| Properties | properties (Resource::Graph ctx) const |
| Get all the properties with a given context. More... | |
| const URIs & | uris () const |
| const Raul::URI & | uri () const |
| const Properties & | properties () const |
| Properties & | properties () |
Protected Member Functions | |
| NodeImpl (const Ingen::URIs &uris, NodeImpl *parent, const Raul::Symbol &symbol) | |
Protected Member Functions inherited from Ingen::Node | |
| Node (const URIs &uris, const Raul::Path &path) | |
Protected Member Functions inherited from Ingen::Resource | |
| const Atom & | set_property (const Raul::URI &uri, const Atom &value) const |
Protected Attributes | |
| NodeImpl * | _parent |
| Raul::Path | _path |
| Raul::Symbol | _symbol |
Protected Attributes inherited from Ingen::Node | |
| Arcs | _arcs |
| Graphs only. | |
Protected Attributes inherited from Ingen::Resource | |
| const URIs & | _uris |
Additional Inherited Members | |
Public Types inherited from Ingen::Node | |
| enum | GraphType { GRAPH, BLOCK, PORT } |
| typedef std::pair< const Node *, const Node * > | ArcsKey |
| typedef std::map< ArcsKey, SPtr< Arc > > | Arcs |
Public Types inherited from Ingen::Resource | |
| enum | Graph { DEFAULT, EXTERNAL, INTERNAL } |
Static Public Member Functions inherited from Ingen::Node | |
| static Raul::URI | main_uri () |
| static bool | uri_is_path (const Raul::URI &uri) |
| static Raul::Path | uri_to_path (const Raul::URI &uri) |
| static Raul::URI | path_to_uri (const Raul::Path &path) |
Static Public Member Functions inherited from Ingen::Resource | |
| static Raul::URI | graph_to_uri (Graph g) |
| static Graph | uri_to_graph (const char *uri) |
| static bool | type (const URIs &uris, const Properties &properties, bool &graph, bool &block, bool &port, bool &is_output) |
| Get the ingen type from a set of Properties. More... | |
An object on the audio graph (a Graph, Block, or Port).
Each of these is a Raul::Deletable and so can be deleted in a realtime safe way from anywhere, and they all have a map of variable for clients to store arbitrary values in (which the engine puts no significance to whatsoever).
|
virtual |
Get a single property value.
This is only useful for properties with a single value. If the requested property has several values, the first will be returned.
Reimplemented from Ingen::Resource.
References Ingen::Resource::properties().
|
virtual |
The Graph this object is a child of.
Reimplemented in Ingen::Server::BlockImpl.
|
pure virtual |
Prepare for a new (external) polyphony value.
Preprocessor thread, poly is actually applied by apply_poly.
Implemented in Ingen::Server::BlockImpl, Ingen::Server::PortImpl, Ingen::Server::DuplexPort, Ingen::Server::LV2Block, and Ingen::Server::Internals::NoteNode.
|
pure virtual |
Apply a new (external) polyphony value.
| context | Process context (process thread only). |
| poly | Must be <= the most recent value passed to prepare_poly. |
| maid | Any objects no longer needed will be pushed to this |
Implemented in Ingen::Server::BlockImpl, Ingen::Server::PortImpl, Ingen::Server::DuplexPort, Ingen::Server::InputPort, Ingen::Server::LV2Block, and Ingen::Server::Internals::NoteNode.
1.8.12