plugins/score-plugin-js/JS/Executor/Component.hpp
1 #pragma once
2 #include <Process/Execution/ProcessComponent.hpp>
3 #include <Process/ExecutionContext.hpp>
4 
5 #include <JS/Qml/QmlObjects.hpp>
6 
7 #include <score/document/DocumentContext.hpp>
8 #include <score/document/DocumentInterface.hpp>
9 
10 #include <ossia/dataflow/node_process.hpp>
11 #include <ossia/editor/scenario/time_process.hpp>
12 #include <ossia/editor/scenario/time_value.hpp>
13 
14 #include <memory>
15 
16 namespace JS
17 {
18 class ProcessModel;
19 namespace Executor
20 {
21 class Component final
22  : public ::Execution::ProcessComponent_T<JS::ProcessModel, ossia::node_process>
23 {
24  COMPONENT_METADATA("c2737929-231e-4d57-9088-a2a3a8d3c24e")
25 public:
26  Component(JS::ProcessModel& element, const Execution::Context& ctx, QObject* parent);
27  ~Component() override;
28 
29 private:
30  void on_scriptChange();
31  std::tuple<ossia::inlets, ossia::outlets, std::vector<Execution::ExecutionCommand>>
32  on_cpuScriptChange(const QString& script, Execution::Transaction& trans);
33  std::tuple<ossia::inlets, ossia::outlets, std::vector<Execution::ExecutionCommand>>
34  on_gpuScriptChange(const QString& script, Execution::Transaction& trans);
35  Process::Inlets m_oldInlets;
36  Process::Outlets m_oldOutlets;
37 };
38 
40 }
41 }
Definition: Process/Execution/ProcessComponent.hpp:119
Definition: plugins/score-plugin-js/JS/Executor/Component.hpp:23
Definition: JSProcessModel.hpp:43
Definition: ExecutionContext.hpp:75
Definition: Process/Execution/ProcessComponent.hpp:89
Definition: ExecutionTransaction.hpp:18
Definition: PortForward.hpp:23
Definition: PortForward.hpp:27