MayaFlux 0.4.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

Bindingbind (std::function< float()> source)
 
Bindingbind (std::shared_ptr< Nodes::Node > node, std::function< float(double)> project={})
 
 Binding (Bridge &bridge, uint32_t id) noexcept
 
uint32_t id () const noexcept
 
void unbind ()
 
Bindingwrite (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)
 
Bindingwrite (const std::shared_ptr< Buffers::VKBuffer > &target, const std::string &shader_path, uint32_t offset, size_t size=sizeof(float))
 
Bindingwrite (std::function< void(std::span< const float >)> sink)
 
Bindingwrite (std::shared_ptr< Buffers::AudioWriteProcessor > target)
 
Bindingwrite (std::shared_ptr< Buffers::DataWriteProcessor > target)
 
Bindingwrite (std::shared_ptr< Nodes::Constant > node)
 

Private Attributes

Bridgem_bridge
 
uint32_t m_id
 

Detailed Description

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

Obtained via Bridge::at(id) or Bridge::at(state). Closes over the Bridge reference and the element id 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.element.id)
.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:403
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:416
Binding at(uint32_t id)
Return a Binding handle for the element registered under id.
Definition Bridge.hpp:484
Bridge & bridge()
Return the application-level Bridge instance.
Definition Forma.cpp:295

Definition at line 393 of file Bridge.hpp.


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