OSSIA
Open Scenario System for Interactive Application
percentage.hpp
1 #pragma once
2 #include <ossia/dataflow/graph_node.hpp>
3 #include <ossia/dataflow/port.hpp>
5 
6 namespace ossia::nodes
7 {
8 class percentage final : public ossia::nonowning_graph_node
9 {
10 public:
11  ossia::value_outlet outlet;
12  percentage(ossia::destination d)
13  : outlet{&d.address()}
14  {
15  m_outlets.push_back(&outlet);
16  }
17 
18  void run(const ossia::token_request& tk, ossia::exec_state_facade e) noexcept override
19  {
20  const auto [tick_start, d] = e.timings(tk);
21  outlet->write_value((float)tk.position(), tick_start);
22  }
23 };
24 }