Loading...
Searching...
No Matches
AutomationState.hpp
1#pragma once
2
3#include <State/Message.hpp>
4
5#include <Process/State/MessageNode.hpp>
6#include <Process/State/ProcessStateDataInterface.hpp>
7
8#include <score_plugin_automation_export.h>
9
10#include <optional>
11#include <vector>
12
13class QObject;
14namespace State
15{
16struct Address;
17} // namespace score
18
19namespace Automation
20{
21class ProcessModel;
22class SCORE_PLUGIN_AUTOMATION_TEST_EXPORT ProcessState final : public ProcessStateDataInterface
23{
24public:
25 // watchedPoint : something between 0 and 1
26 ProcessState(ProcessModel& process, double watchedPoint, QObject* parent);
27
28 ProcessModel& process() const;
29
30 ::State::Message message() const;
31 double point() const;
32
33 std::vector<State::AddressAccessor> matchingAddresses() override;
34 std::vector<State::AddressAccessor> takenOverAddresses() const override;
35 ::State::MessageList messages() const override;
36 ::State::MessageList
37 setMessages(const ::State::MessageList&, const Process::MessageNode&) override;
38
41 void updateMessages();
42
43private:
44 double m_point{};
45 std::optional<::State::MessageList> m_announced;
46};
47}
Definition AutomationModel.hpp:36
Definition AutomationState.hpp:23
Definition ProcessStateDataInterface.hpp:24
Namespace related to the Automation process.
Definition AutomationColors.cpp:8
Utilities for OSSIA data structures.
Definition DeviceInterface.hpp:35
The Message struct.
Definition Message.hpp:15