Loading...
Searching...
No Matches
ValueTakeDrop.hpp
1#pragma once
2#include <Process/Drop/ProcessDropHandler.hpp>
3
4#include <Curve/Segment/CurveSegmentData.hpp>
5
6#include <score_plugin_automation_export.h>
7
8#include <array>
9#include <optional>
10#include <vector>
11
12namespace Automation
13{
19struct SCORE_PLUGIN_AUTOMATION_TEST_EXPORT ValueTake
20{
21 static constexpr int max_components = 32;
25 int components{};
27 bool lists{};
31 double seconds{};
32 std::array<double, max_components> min{}, max{};
33 struct step
34 {
36 double x;
37 std::array<double, max_components> value;
38 };
39 std::vector<step> steps;
40
42 static std::optional<ValueTake> parse(const QByteArray& json);
43
48 std::vector<Curve::SegmentData> segments(int component, double span = 1.) const;
49};
50
52{
53 SCORE_CONCRETE("ed6975a6-407a-41a2-8e16-bb95932c9156")
54
55public:
56 QSet<QString> fileExtensions() const noexcept override;
57 void dropData(
58 std::vector<ProcessDrop>& drops, const DroppedFile& data,
59 const score::DocumentContext& ctx) const noexcept override;
60
61private:
62 void dropCustom(
63 std::vector<ProcessDrop>& drops, const QMimeData& mime,
64 const score::DocumentContext& ctx) const override;
65};
66}
Definition ValueTakeDrop.hpp:52
Definition ProcessDropHandler.hpp:26
Namespace related to the Automation process.
Definition AutomationColors.cpp:8
Definition ValueTakeDrop.hpp:34
double x
From 0 to 1 over the take.
Definition ValueTakeDrop.hpp:36
Definition ValueTakeDrop.hpp:20
Definition ProcessDropHandler.hpp:37
Definition DocumentContext.hpp:18