Loading...
Searching...
No Matches
score-plugin-vst3/Vst3/Executor.hpp
1#pragma once
2#include <Process/Execution/ProcessComponent.hpp>
3
4#include <Vst3/EffectModel.hpp>
5
6#include <ossia/dataflow/node_process.hpp>
7
8#include <score_plugin_vst3_export.h>
9
10#include <memory>
11
12#include <verdigris>
13
14namespace vst3
15{
16class vst_node_base;
17
22SCORE_PLUGIN_VST3_EXPORT
23QMetaObject::Connection connectControl(
24 const Process::ControlInlet& ctrl, QObject* context,
25 Execution::ExecutionCommandQueue& queue, std::weak_ptr<vst_node_base> node,
26 std::size_t queue_idx);
27
28class Executor final
29 : public Execution::ProcessComponent_T<vst3::Model, ossia::node_process>
30{
31 W_OBJECT(Executor)
32 COMPONENT_METADATA("a9f2c738-d22b-4654-9f58-25f25f099d79")
33
34public:
35 static constexpr bool is_unique = true;
36
37 Executor(vst3::Model& proc, const Execution::Context& ctx, QObject* parent);
38
39 void cleanup() override;
40
41private:
42 template <typename Node_T>
43 void setupNode(Node_T& node);
44};
46}
Definition Process/Execution/ProcessComponent.hpp:131
Definition Port.hpp:247
Definition score-plugin-vst3/Vst3/Executor.hpp:30
Definition score-plugin-vst3/Vst3/EffectModel.hpp:45
Definition ExecutionContext.hpp:208
Definition ExecutionContext.hpp:73
Definition Process/Execution/ProcessComponent.hpp:101