40template <
class TAction>
87 name =
"remove module";
108 name =
"bypass module";
117 name =
"change module";
132 name =
"change parameter";
156 name =
"remove cable";
169 name =
"change cable color";
#define PRIVATE
Attribute for private functions not intended to be called by plugins.
Definition common.hpp:32
Root namespace for the Rack API.
Definition AudioDisplay.hpp:9
An undo action with an inverse redo action.
Definition history.hpp:31
std::string name
Name of the action, lowercase.
Definition history.hpp:33
virtual ~Action()
Definition history.hpp:34
virtual void undo()
Definition history.hpp:35
virtual void redo()
Definition history.hpp:36
Definition history.hpp:137
bool isCable(app::CableWidget *cw) const
int64_t outputModuleId
Definition history.hpp:141
int64_t cableId
Definition history.hpp:138
NVGcolor color
Definition history.hpp:143
int outputId
Definition history.hpp:142
int inputId
Definition history.hpp:140
void setCable(app::CableWidget *cw)
CableAdd()
Definition history.hpp:148
int64_t inputModuleId
Definition history.hpp:139
Definition history.hpp:161
CableColorChange()
Definition history.hpp:168
void setCable(app::CableWidget *cw)
NVGcolor oldColor
Definition history.hpp:164
NVGcolor newColor
Definition history.hpp:163
int64_t cableId
Definition history.hpp:162
Definition history.hpp:154
CableRemove()
Definition history.hpp:155
Batches multiple actions into one.
Definition history.hpp:52
std::vector< Action * > actions
Ordered by time occurred.
Definition history.hpp:54
void push(Action *action)
Definition history.hpp:41
void undo() override
Definition history.hpp:42
void redo() override
Definition history.hpp:45
An action operating on a module.
Definition history.hpp:66
int64_t moduleId
Definition history.hpp:67
Definition history.hpp:71
void setModule(app::ModuleWidget *mw)
json_t * moduleJ
Definition history.hpp:74
ModuleAdd()
Definition history.hpp:75
math::Vec pos
Definition history.hpp:73
plugin::Model * model
Definition history.hpp:72
Definition history.hpp:103
bool bypassed
Definition history.hpp:104
ModuleBypass()
Definition history.hpp:107
Definition history.hpp:113
json_t * newModuleJ
Definition history.hpp:115
json_t * oldModuleJ
Definition history.hpp:114
ModuleChange()
Definition history.hpp:116
Definition history.hpp:92
ModuleMove()
Definition history.hpp:97
math::Vec newPos
Definition history.hpp:94
math::Vec oldPos
Definition history.hpp:93
Definition history.hpp:85
ModuleRemove()
Definition history.hpp:86
Definition history.hpp:125
float oldValue
Definition history.hpp:127
float newValue
Definition history.hpp:128
int paramId
Definition history.hpp:126
ParamChange()
Definition history.hpp:131
Definition history.hpp:174
int actionIndex
Definition history.hpp:179
void push(Action *action)
int savedIndex
Action index of saved patch state.
Definition history.hpp:181
std::string getUndoName()
std::deque< Action * > actions
Definition history.hpp:178
std::string getRedoName()
Internal * internal
Definition history.hpp:176
2-dimensional vector of floats, representing a point on the plane for graphics.
Definition math.hpp:189
Type information for a module.
Definition Model.hpp:34