MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Portal::Forma::Bridge::Binding Class Reference

Non-owning handle for all bind/write/unbind operations on one element. More...

#include <Bridge.hpp>

+ Collaboration diagram for MayaFlux::Portal::Forma::Bridge::Binding:

Public Member Functions

Binding & bind (std::function< float()> source)
 
Binding & bind (std::shared_ptr< Nodes::Node > node, std::function< float(double)> project={})
 
 Binding (Bridge &bridge, ElementRef ref) noexcept
 
uint32_t id () const noexcept
 
void unbind ()
 
Binding & write (const std::shared_ptr< Buffers::VKBuffer > &target, const std::string &shader_path, const std::string &descriptor_name, uint32_t binding_index, uint32_t set, Portal::Graphics::DescriptorRole role=Portal::Graphics::DescriptorRole::UNIFORM)
 
Binding & write (const std::shared_ptr< Buffers::VKBuffer > &target, const std::string &shader_path, uint32_t offset, Kakshya::GpuDataFormat format)
 
Binding & write (const std::shared_ptr< Buffers::VKBuffer > &target, const std::string &shader_path, uint32_t offset, size_t size=sizeof(float))
 
Binding & write (std::function< void(std::span< const float >)> sink)
 
Binding & write (std::shared_ptr< Buffers::AudioWriteProcessor > target)
 
Binding & write (std::shared_ptr< Buffers::DataWriteProcessor > target)
 
Binding & write (std::shared_ptr< Nodes::Constant > node)
 

Private Attributes

Bridge & m_bridge
 
ElementRef m_ref
 

Detailed Description

Non-owning handle for all bind/write/unbind operations on one element.

Obtained via Bridge::at(ref) or Bridge::at(state). Closes over the Bridge reference and the ElementRef so the caller never repeats either. Every method forwards directly to the corresponding Bridge overload: there is no deferred execution, no new mechanism.

Binding holds a reference to its Bridge and must not outlive it.

bridge.at(el.state)
.bind(envelope_node)
.write(compute_buf, shader_path, offsetof(PC, cutoff))
.write(audio_proc);
Binding & bind(std::shared_ptr< Nodes::Node > node, std::function< float(double)> project={})
Definition Bridge.hpp:561
Binding & write(const std::shared_ptr< Buffers::VKBuffer > &target, const std::string &shader_path, uint32_t offset, size_t size=sizeof(float))
Definition Bridge.hpp:574
Binding at(ElementRef ref)
Return a Binding handle for the element registered under ref.
Definition Bridge.hpp:652
Bridge & bridge()
Return the application-level Bridge instance.
Definition Forma.cpp:71

Definition at line 551 of file Bridge.hpp.


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