2#include <Gfx/GfxDevice.hpp>
3#include <Gfx/GfxExecContext.hpp>
4#include <ossia/gfx/texture_parameter.hpp>
5#include <ossia/network/base/device.hpp>
6#include <ossia/network/base/protocol.hpp>
21 : protocol_base{flags{}}
25 bool pull(ossia::net::parameter_base&)
override {
return false; }
26 bool push(
const ossia::net::parameter_base&,
const ossia::value& v)
override
30 bool push_raw(
const ossia::net::full_parameter_data&)
override {
return false; }
31 bool observe(ossia::net::parameter_base&,
bool)
override {
return false; }
32 bool update(ossia::net::node_base& node_base)
override {
return false; }
34 void start_execution()
override { }
35 void stop_execution()
override { }
43 int32_t node_id{score::gfx::invalid_node_index};
48 : ossia::gfx::texture_parameter{n}
52 node_id = context->ui->register_node(std::unique_ptr<score::gfx::Node>{gfx_n});
55 void pull_texture(ossia::gfx::port_index idx)
override
58 port_index{this->node_id, 0}, idx, Process::CableType::ImmediateGlutton);
62 context->ui->send_message(std::move(m));
71 ossia::net::device_base& m_device;
72 node_base* m_parent{};
73 std::unique_ptr<simple_texture_input_parameter> m_parameter;
81 std::make_unique<simple_texture_input_parameter>(gfx_n, context, *
this)}
83 m_name = std::move(name);
88 return m_parameter.get();
92 ossia::net::device_base& get_device()
const override {
return m_device; }
93 ossia::net::node_base* get_parent()
const override {
return m_parent; }
94 ossia::net::node_base& set_name(std::string)
override {
return *
this; }
95 ossia::net::parameter_base* create_parameter(ossia::val_type)
override
97 return m_parameter.get();
99 bool remove_parameter()
override {
return false; }
101 std::unique_ptr<ossia::net::node_base> make_child(
const std::string& name)
override
105 void removing_child(ossia::net::node_base& node_base)
override { }
115 std::unique_ptr<ossia::net::protocol_base> proto, std::string name)
116 : ossia::net::device_base{std::move(proto)}
117 , root{gfx_n, context, *
this, name}
126 :
public ossia::net::protocol_base
129 std::shared_ptr<::Video::ExternalInput> camera;
135 bool pull(ossia::net::parameter_base&)
override;
136 bool push(
const ossia::net::parameter_base&,
const ossia::value& v)
override;
137 bool push_raw(
const ossia::net::full_parameter_data&)
override;
138 bool observe(ossia::net::parameter_base&,
bool)
override;
139 bool update(ossia::net::node_base& node_base)
override;
141 void start_execution()
override;
142 void stop_execution()
override;
144 score::gfx::CameraNode* camera_node{};
148 :
public ossia::gfx::texture_parameter
154 std::shared_ptr<::Video::ExternalInput> camera;
156 score::gfx::CameraNode* node{};
160 void pull_texture(ossia::gfx::port_index idx)
override;
168 ossia::net::device_base& m_device;
169 node_base* m_parent{};
170 std::unique_ptr<video_texture_input_parameter> m_parameter;
179 ossia::net::device_base& get_device()
const override;
180 ossia::net::node_base* get_parent()
const override;
181 ossia::net::node_base& set_name(std::string)
override;
182 ossia::net::parameter_base* create_parameter(ossia::val_type)
override;
183 bool remove_parameter()
override;
185 std::unique_ptr<ossia::net::node_base> make_child(
const std::string& name)
override;
186 void removing_child(ossia::net::node_base& node_base)
override;
195 std::unique_ptr<ossia::net::protocol_base> proto, std::string name)
196 : ossia::net::device_base{std::move(proto)}
Definition GfxExecContext.hpp:16
Definition GfxInputDevice.hpp:109
Definition GfxInputDevice.hpp:70
Definition GfxInputDevice.hpp:39
Definition GfxInputDevice.hpp:18
Definition GfxInputDevice.hpp:190
Definition GfxInputDevice.hpp:167
Definition GfxInputDevice.hpp:149
Definition GfxInputDevice.hpp:127
Root data model for visual nodes.
Definition score-plugin-gfx/Gfx/Graph/Node.hpp:74
Binds the rendering pipeline to ossia processes.
Definition CameraDevice.cpp:30
Graphics rendering pipeline for ossia score.
Definition Filter/PreviewWidget.hpp:12
Definition score-plugin-gfx/Gfx/Graph/Node.hpp:49