libmapper 2.4.12
|
#include <mapper_cpp.h>
Public Types | |
enum class | Location { SRC = MPR_LOC_SRC , DST = MPR_LOC_DST , ANY = MPR_LOC_ANY } |
enum class | Protocol { UDP = MPR_PROTO_UDP , TCP = MPR_PROTO_TCP } |
![]() | |
enum class | Status { UNDEFINED = MPR_STATUS_UNDEFINED , EXPIRED = MPR_STATUS_EXPIRED , NEW = MPR_STATUS_NEW , MODIFIED = MPR_STATUS_MODIFIED , STAGED = MPR_STATUS_STAGED , ACTIVE = MPR_STATUS_ACTIVE , REMOVED = MPR_STATUS_REMOVED , HAS_VALUE = MPR_STATUS_HAS_VALUE , NEW_VALUE = MPR_STATUS_NEW_VALUE , UPDATE_LOC = MPR_STATUS_UPDATE_LOC , UPDATE_REM = MPR_STATUS_UPDATE_REM , REL_UPSTRM = MPR_STATUS_REL_UPSTRM , REL_DNSTRM = MPR_STATUS_REL_DNSTRM , INST_OFLW = MPR_STATUS_OVERFLOW , ANY = MPR_STATUS_ANY } |
Public Member Functions | |
Map (signal_type src, signal_type dst) | |
template<typename... Args> | |
Map (const str_type &expression, Args ...args) | |
Map (int num_srcs, signal_type srcs[], int num_dsts, signal_type dsts[]) | |
template<size_t N, size_t M> | |
Map (std::array< signal_type, N > &srcs, std::array< signal_type, M > &dsts) | |
Map (std::vector< signal_type > &srcs, std::vector< signal_type > &dsts) | |
operator mpr_map () const | |
const Map & | refresh () const |
void | release () const |
bool | ready () const |
Map & | add_scope (const Device &dev) |
Map & | remove_scope (const Device &dev) |
int | signal_idx (signal_type sig) const |
List< Signal > | signals (Location loc=Location::ANY) const |
const Map & | push () const |
![]() | |
operator bool () const | |
Type | type () const |
Graph | graph () const |
int | get_status () const |
Object & | reset_status () |
template<typename... Values> | |
Object & | set_property (const Values... vals) |
template<typename... Values> | |
Object & | set_local_property (const Values... vals) |
virtual Object & | remove_property (Property prop) |
virtual Object & | remove_property (const str_type &key) |
int | num_props (bool staged=false) const |
PropVal | property (const str_type &key=NULL) const |
PropVal | property (Property prop) const |
PropVal | property (int idx) const |
Maps define dataflow connections between sets of Signals. A Map consists of one or more source Signals, one or more destination Signal (currently), restricted to one) and properties which determine how the source data is processed.
|
strong |
|
strong |
|
inline |
|
inline |
Create a map between a set of signals using an expression string containing embedded format specifiers that are replaced by mpr_sig
values specified in subsequent additional arguments. If a matching map already exists in the graph, the new Map object will refer to the existing map, otherwise a new map will be created. Changes to the Map will not take effect until it has been added to the distributed graph using push()
.
expression | A string specifying the map expression to use when mapping source to destination signals. The format specifier "%x" is used to specify source signals and the "%y" is used to specify the destination signal. |
args | A sequence of additional Signal arguments, one for each format specifier in the format string. |
|
inline |
|
inline |
|
inline |
Add a scope to this Map. Map scopes configure the propagation of Signal updates across the Map. Changes will not take effect until synchronized with the distributed graph using push()
.
dev | Device to add as a scope for this Map. After taking effect, this setting will cause instance updates originating from the specified Device to be propagated across the Map. |
|
inline |
Return C data structure mpr_map corresponding to this object.
|
inlinevirtual |
Push "staged" property changes out to the distributed graph.
Reimplemented from mapper::Object.
|
inline |
Detect whether a Map is completely initialized.
|
inline |
Re-create stale map if necessary.
|
inline |
Release the Map between a set of Signals.
Remove a scope from this Map. Map scopes configure the propagation of Signal updates across the Map. Changes will not take effect until synchronized with the distributed graph using push()
.
dev | Device to remove as a scope for this Map. After taking effect, this setting will cause instance updates originating from the specified Device to be blocked from propagating across the Map. |
|
inline |