|
MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
|
A directed coupling between Forma participants. More...
#include <Link.hpp>
Collaboration diagram for MayaFlux::Portal::Forma::Link:Public Member Functions | |
| Link (const Link &)=delete | |
| Link (Link &&) noexcept=default | |
| Link (std::function< void()> est, std::function< void()> t=[] { }) | |
| Construct and immediately run establish. | |
| Link & | operator= (const Link &)=delete |
| Link & | operator= (Link &&) noexcept=default |
Public Attributes | |
| std::function< void()> | establish |
| std::function< void()> | tap { [] { } } |
A directed coupling between Forma participants.
A Link has two distinct moments:
establish - runs once at construction. This is where the coupling is formed: attaching a processor to a buffer, setting initial state, registering a relation. For some links this is the entire effect.
activate - the repeatable body of the coupling. Closed over whatever source and target participants are relevant. Expresses the full transfer: read, transform, apply, any gating. When the link has no repeatable behavior, activate is []{}. It is always callable.
Who calls activate and when is entirely the caller's concern. A Context callback, a version-gating wrapper, a Lila script, another Link's activate body - all are valid drivers.