50 exec_controls controls;
51 exec_controls control_outs;
56 ossia::triple_buffer<ossia::value> latest;
64 std::atomic_bool notify_ui{};
67 gfx_exec_node(GfxExecutionAction& e_ctx)
68 : exec_context{&e_ctx}
72 const std::shared_ptr<control>& add_control()
74 auto port =
new ossia::value_inlet;
75 m_inlets.push_back(port);
77 controls.push_back(std::make_shared<control>());
78 auto& c = controls.back();
85 const std::shared_ptr<control>& add_control_out()
87 auto port =
new ossia::value_outlet;
88 m_outlets.push_back(port);
90 ui_control_outs.push_back(std::make_unique<ui_control_out>());
91 control_outs.push_back(std::make_shared<control>());
92 auto& c = control_outs.back();
101 auto port =
new ossia::value_inlet;
102 m_inlets.push_back(port);
108 auto port =
new ossia::texture_inlet;
109 m_inlets.push_back(port);
113 auto add_texture_out()
115 auto port =
new ossia::texture_outlet;
116 m_outlets.push_back(port);
122 auto port =
new ossia::geometry_inlet;
123 m_inlets.push_back(port);
127 auto add_geometry_out()
129 auto port =
new ossia::geometry_outlet;
130 m_outlets.push_back(port);
136 auto port =
new ossia::audio_inlet;
137 m_inlets.push_back(port);
143 int32_t
id{score::gfx::invalid_node_index};
144 std::atomic_int32_t script_index{0};
145 ossia::time_value m_last_flicks{};
146 void run(
const ossia::token_request& tk, ossia::exec_state_facade)
noexcept override;
148 void link_cable_to_inlet(ossia::inlet* inlet,
int inlet_i);
149 using ossia::graph_node::m_inlets;
150 using ossia::graph_node::m_outlets;
Definition ExecutionContext.hpp:208