MappingExecution.hpp
1 #pragma once
2 #include <State/Address.hpp>
3 
4 #include <Process/Execution/ProcessComponent.hpp>
5 
6 #include <Mapping/MappingModel.hpp>
7 
8 #include <ossia/dataflow/node_process.hpp>
9 #include <ossia/network/value/value.hpp>
10 
11 namespace ossia
12 {
13 class curve_abstract;
14 }
15 namespace Device
16 {
17 class DeviceList;
18 }
19 
20 namespace Mapping
21 {
22 namespace RecreateOnPlay
23 {
24 class Component final
25  : public ::Execution::ProcessComponent_T<Mapping::ProcessModel, ossia::node_process>
26 {
27  COMPONENT_METADATA("da360b58-9885-4106-be54-8e272ed45dbe")
28 public:
29  Component(
30  ::Mapping::ProcessModel& element, const ::Execution::Context& ctx,
31  QObject* parent);
32 
33  ~Component();
34 
35 private:
36  void recompute();
37  std::shared_ptr<ossia::curve_abstract>
38  rebuildCurve(ossia::val_type source, ossia::val_type target);
39 
40  template <typename T>
41  std::shared_ptr<ossia::curve_abstract> on_curveChanged_impl(ossia::val_type target);
42 
43  template <typename X_T, typename Y_T>
44  std::shared_ptr<ossia::curve_abstract> on_curveChanged_impl2();
45 };
46 
48 }
49 }
50 
51 SCORE_CONCRETE_COMPONENT_FACTORY(
Definition: Process/Execution/ProcessComponent.hpp:119
Definition: Process/Execution/ProcessComponent.hpp:102
Definition: MappingModel.hpp:27
Definition: MappingExecution.hpp:26
Manipulation of Devices from Qt.
Definition: AddressSettings.cpp:14
Definition: Process/Execution/ProcessComponent.hpp:89