Loading...
Searching...
No Matches
SetControlValue.hpp
1#pragma once
2#include <State/Value.hpp>
3#include <State/ValueSerialization.hpp>
4
5#include <Process/Commands/ProcessCommandFactory.hpp>
6#include <Process/Dataflow/Port.hpp>
7
8#include <score/command/AggregateCommand.hpp>
9#include <score/model/path/PathSerialization.hpp>
10
11namespace Process
12{
13class SCORE_LIB_PROCESS_EXPORT SetControlValue final : public score::Command
14{
15 SCORE_COMMAND_DECL(Process::CommandFactoryName(), SetControlValue, "Set a control")
16
17public:
18 SetControlValue(const Process::ControlInlet& obj, ossia::value newval);
19 virtual ~SetControlValue();
20
21 void undo(const score::DocumentContext& ctx) const final override;
22 void redo(const score::DocumentContext& ctx) const final override;
23 void update(const Process::ControlInlet& obj, ossia::value newval);
24
25protected:
26 void serializeImpl(DataStreamInput& stream) const final override;
27 void deserializeImpl(DataStreamOutput& stream) final override;
28
29private:
31 ossia::value m_old, m_new;
32};
33
35class SCORE_LIB_PROCESS_EXPORT SetControlValues final : public score::AggregateCommand
36{
37 SCORE_COMMAND_DECL(Process::CommandFactoryName(), SetControlValues, "Set controls")
38};
39
40class SCORE_LIB_PROCESS_EXPORT SetControlOutletValue final : public score::Command
41{
42 SCORE_COMMAND_DECL(
43 Process::CommandFactoryName(), SetControlOutletValue, "Set a control")
44
45public:
46 SetControlOutletValue(const Process::ControlOutlet& obj, ossia::value newval);
47 virtual ~SetControlOutletValue();
48
49 void undo(const score::DocumentContext& ctx) const final override;
50 void redo(const score::DocumentContext& ctx) const final override;
51 void update(const Process::ControlOutlet& obj, ossia::value newval);
52
53protected:
54 void serializeImpl(DataStreamInput& stream) const final override;
55 void deserializeImpl(DataStreamOutput& stream) final override;
56
57private:
59 ossia::value m_old, m_new;
60};
61}
The Path class is a typesafe wrapper around ObjectPath.
Definition Path.hpp:52
Definition Port.hpp:242
Definition Port.hpp:476
Definition SetControlValue.hpp:41
Definition SetControlValue.hpp:14
Several controls changed by one gesture: one undo step.
Definition SetControlValue.hpp:36
Allows for grouping of multiple commands in a single one.
Definition AggregateCommand.hpp:15
The Command class.
Definition Command.hpp:34
Base classes and tools to implement processes and layers.
Definition JSONVisitor.hpp:1115
Definition DataStreamHelpers.hpp:99
Definition DataStreamHelpers.hpp:103
Definition DocumentContext.hpp:18