AutomationExecution.hpp
1 #pragma once
2 #include <Process/Execution/ProcessComponent.hpp>
3 
4 #include <Automation/AutomationModel.hpp>
5 
6 #include <ossia/dataflow/node_process.hpp>
7 #include <ossia/network/value/destination.hpp>
8 #include <ossia/network/value/value.hpp>
9 
10 #include <memory>
11 namespace ossia
12 {
13 class curve_abstract;
14 }
15 
16 namespace Automation
17 {
18 namespace RecreateOnPlay
19 {
20 class Component final
22  Automation::ProcessModel, ossia::node_process>
23 {
24  COMPONENT_METADATA("f759eacd-5a67-4627-bbe8-c649e0f9b6c5")
25 public:
26  Component(
27  Automation::ProcessModel& element, const ::Execution::Context& ctx,
28  QObject* parent);
29 
30  ~Component() override;
31 
32 private:
33  void recompute();
34 
35  std::shared_ptr<ossia::curve_abstract>
36  on_curveChanged(ossia::val_type, const std::optional<ossia::destination>&);
37 
38  template <typename T>
39  std::shared_ptr<ossia::curve_abstract>
40  on_curveChanged_impl(const std::optional<ossia::destination>&);
41 };
43 }
44 }
45 
46 SCORE_CONCRETE_COMPONENT_FACTORY(
Definition: AutomationModel.hpp:36
Definition: AutomationExecution.hpp:23
Definition: Process/Execution/ProcessComponent.hpp:119
Definition: Process/Execution/ProcessComponent.hpp:102
Namespace related to the Automation process.
Definition: AutomationColors.cpp:8
Definition: Process/Execution/ProcessComponent.hpp:89