2 #include <ossia/detail/config.hpp>
4 #include <ossia/dataflow/graph_node.hpp>
5 #include <ossia/dataflow/port.hpp>
6 #include <ossia/detail/optional.hpp>
8 #include <ossia/editor/mapper/detail/mapper_visitor.hpp>
13 namespace ossia::nodes
23 class mapping final :
public ossia::nonowning_graph_node
28 m_inlets.push_back(&value_in);
29 m_outlets.push_back(&value_out);
32 [[nodiscard]] std::string label()
const noexcept
override {
return "mapping"; }
36 void set_behavior(
const ossia::behavior& b) { m_drive = b; }
39 void run(
const ossia::token_request& t, ossia::exec_state_facade e) noexcept
override
44 const ossia::value_port& ip = *value_in;
45 ossia::value_port& op = *value_out;
48 for(
auto& tv : ip.get_data())
53 auto v = ossia::apply(
54 ossia::detail::mapper_compute_visitor{}, tv.value, m_drive.v);
56 op.write_value(std::move(v), tv.timestamp);
64 ossia::behavior m_drive;
65 ossia::value_inlet value_in;
66 ossia::value_outlet value_out;
The ossia::nodes::mapping class.
Definition: mapping.hpp:24