13class PortConnectionAction :
public QObject,
public UndoableAction
17 DEFINE_UNDOABLE_ACTION_QML_PROPERTIES (PortConnectionAction)
29 using PortType = dsp::PortType;
30 using PortUuid = dsp::PortUuid;
33 PortConnectionAction (QObject * parent =
nullptr);
35 PortConnectionAction (
41 ~PortConnectionAction ()
override =
default;
45 friend void init_from (
46 PortConnectionAction &obj,
47 const PortConnectionAction &other,
51 void init_loaded_impl ()
override { }
52 void undo_impl ()
override;
53 void perform_impl ()
override;
55 void do_or_undo (
bool do_it);
70class PortConnectionConnectAction final :
public PortConnectionAction
73 PortConnectionConnectAction (PortUuid src_id,
const PortUuid &dest_id)
74 : PortConnectionAction (Type::Connect, src_id, dest_id, 0.f)
79class PortConnectionDisconnectAction final :
public PortConnectionAction
82 PortConnectionDisconnectAction (PortUuid src_id,
const PortUuid &dest_id)
83 : PortConnectionAction (Type::Disconnect, src_id, dest_id, 0.f)
88class PortConnectionEnableAction final :
public PortConnectionAction
91 PortConnectionEnableAction (PortUuid src_id,
const PortUuid &dest_id)
92 : PortConnectionAction (Type::Enable, src_id, dest_id, 0.f)
97class PortConnectionDisableAction final :
public PortConnectionAction
100 PortConnectionDisableAction (PortUuid src_id,
const PortUuid &dest_id)
101 : PortConnectionAction (Type::Disable, src_id, dest_id, 0.f)
106class PortConnectionChangeMultiplierAction final :
public PortConnectionAction
109 PortConnectionChangeMultiplierAction (
112 float new_multiplier)
113 : PortConnectionAction (Type::ChangeMultiplier, src_id, dest_id, new_multiplier)