Ingen  0.5.1
Public Member Functions | Static Public Member Functions | List of all members
Ingen::Server::Internals::TriggerNode Class Reference

MIDI trigger input block. More...

#include <Trigger.hpp>

+ Inheritance diagram for Ingen::Server::Internals::TriggerNode:
+ Collaboration diagram for Ingen::Server::Internals::TriggerNode:

Public Member Functions

 TriggerNode (InternalPlugin *plugin, BufferFactory &bufs, const Raul::Symbol &symbol, bool polyphonic, GraphImpl *parent, SampleRate srate)
 
void run (RunContext &context)
 Run block for a portion of process cycle (called from process()). More...
 
bool note_on (RunContext &context, uint8_t note_num, uint8_t velocity, FrameTime time)
 
bool note_off (RunContext &context, uint8_t note_num, FrameTime time)
 
void learn ()
 Learn the next incoming MIDI event (for internals)
 
- Public Member Functions inherited from Ingen::Server::InternalBlock
 InternalBlock (PluginImpl *plugin, const Raul::Symbol &symbol, bool poly, GraphImpl *parent, SampleRate rate)
 
BlockImplduplicate (Engine &engine, const Raul::Symbol &symbol, GraphImpl *parent)
 Duplicate this Node. More...
 
virtual void pre_process (RunContext &context)
 Do whatever needs doing in the process thread before process() is called.
 
- Public Member Functions inherited from Ingen::Server::BlockImpl
 BlockImpl (PluginImpl *plugin, const Raul::Symbol &symbol, bool poly, GraphImpl *parent, SampleRate rate)
 
virtual GraphType graph_type () const
 
virtual void activate (BufferFactory &bufs)
 Activate this Block. More...
 
virtual void deactivate ()
 Deactivate this Block. More...
 
bool activated () const
 Return true iff this block is activated.
 
bool enabled () const
 Return true iff this block is enabled (not bypassed). More...
 
void set_enabled (bool e)
 Enable or disable (bypass) this block. More...
 
virtual LilvState * load_preset (const Raul::URI &uri)
 Load a preset from the world for this block. More...
 
virtual void apply_state (Worker *worker, const LilvState *state)
 Restore state. More...
 
virtual boost::optional< Resourcesave_preset (const Raul::URI &bundle, const Properties &props)
 Save current state as preset. More...
 
virtual void process (RunContext &context)
 Run block for an entire process cycle (calls run()). More...
 
virtual void post_process (RunContext &context)
 Do whatever needs doing in the process thread after process() is called.
 
virtual void set_port_buffer (uint32_t voice, uint32_t port_num, BufferRef buf, SampleCount offset)
 Set the buffer of a port to a given buffer (e.g. More...
 
virtual Nodeport (uint32_t index) const
 
virtual PortImplport_impl (uint32_t index) const
 
virtual PortImplport_by_symbol (const char *symbol)
 Get a port by symbol. More...
 
std::set< BlockImpl * > & providers ()
 Blocks that are connected to this Block's inputs. More...
 
std::set< BlockImpl * > & dependants ()
 Blocks that are connected to this Block's outputs. More...
 
virtual void set_polyphonic (bool p)
 Flag block as polyphonic. More...
 
virtual bool prepare_poly (BufferFactory &bufs, uint32_t poly)
 Prepare for a new (external) polyphony value. More...
 
virtual bool apply_poly (RunContext &context, Raul::Maid &maid, uint32_t poly)
 Apply a new (external) polyphony value. More...
 
virtual const Resourceplugin () const
 Information about the Plugin this Block is an instance of. More...
 
virtual const PluginImplplugin_impl () const
 Information about the Plugin this Block is an instance of. More...
 
virtual void plugin (PluginImpl *pi)
 
virtual void set_buffer_size (RunContext &context, BufferFactory &bufs, LV2_URID type, uint32_t size)
 
GraphImplparent_graph () const
 The Graph this Block belongs to. More...
 
uint32_t num_ports () const
 
virtual uint32_t polyphony () const
 
Mark get_mark () const
 
void set_mark (Mark m)
 
- Public Member Functions inherited from Ingen::Server::NodeImpl
const Raul::Symbol & symbol () const
 
Nodegraph_parent () const
 
NodeImplparent () const
 
virtual void set_path (const Raul::Path &new_path)
 Rename.
 
const Atomget_property (const Raul::URI &key) const
 Get a single property value. More...
 
const Raul::Path & path () const
 
- Public Member Functions inherited from Ingen::Node
Arcs & arcs ()
 
const Arcs & arcs () const
 
virtual LilvInstance * instance ()
 
virtual bool save_state (const std::string &dir) const
 
Raul::URI base_uri () const
 
- Public Member Functions inherited from Ingen::Resource
 Resource (const URIs &uris, const Raul::URI &uri)
 
Resourceoperator= (const Resource &rhs)
 
virtual const Atomset_property (const Raul::URI &uri, const Atom &value, Graph ctx=Graph::DEFAULT)
 Set (replace) a property value. More...
 
virtual const Atomset_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 URIsuris () const
 
const Raul::URI & uri () const
 
const Propertiesproperties () const
 
Propertiesproperties ()
 

Static Public Member Functions

static InternalPlugininternal_plugin (URIs &uris)
 
- 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...
 

Additional Inherited Members

- Public Types inherited from Ingen::Server::BlockImpl
enum  Mark {
  UNVISITED,
  VISITING,
  VISITED
}
 Mark used during graph compilation.
 
- 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
}
 
- Protected Member Functions inherited from Ingen::Server::BlockImpl
PortImplnth_port_by_type (uint32_t n, bool input, PortType type)
 
- Protected Member Functions inherited from Ingen::Server::NodeImpl
 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 Atomset_property (const Raul::URI &uri, const Atom &value) const
 
- Protected Attributes inherited from Ingen::Server::BlockImpl
PluginImpl_plugin
 
Raul::Array< PortImpl * > * _ports
 Access in audio thread only.
 
uint32_t _polyphony
 
std::set< BlockImpl * > _providers
 Blocks connected to this one's input ports.
 
std::set< BlockImpl * > _dependants
 Blocks this one's output ports are connected to.
 
Mark _mark
 Mark for graph compilation algorithm.
 
bool _polyphonic
 
bool _activated
 
bool _enabled
 
- Protected Attributes inherited from Ingen::Server::NodeImpl
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
 

Detailed Description

MIDI trigger input block.

Just has a gate, for drums etc. A control port is used to select which note number is responded to.

Note that this block is always monophonic, the poly parameter is ignored. (Should that change?)

Member Function Documentation

§ run()

void Ingen::Server::Internals::TriggerNode::run ( RunContext context)
virtual

Run block for a portion of process cycle (called from process()).

Implements Ingen::Server::BlockImpl.


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