4#ifndef __UNDO_RANGE_ACTION_H__
5#define __UNDO_RANGE_ACTION_H__
18enum class RangeActionType
20 RANGE_ACTION_INSERT_SILENCE,
68#define range_action_new_insert_silence(start, end, error) \
70 RangeActionType::RANGE_ACTION_INSERT_SILENCE, start, end, error)
72#define range_action_new_remove(start, end, error) \
73 range_action_new (RangeActionType::RANGE_ACTION_REMOVE, start, end, error)
85#define range_action_perform_insert_silence(start, end, error) \
86 range_action_perform ( \
87 RangeActionType::RANGE_ACTION_INSERT_SILENCE, start, end, error)
89#define range_action_perform_remove(start, end, error) \
90 range_action_perform (RangeActionType::RANGE_ACTION_REMOVE, start, end, error)
93range_action_do (
RangeAction * self, GError ** error);
96range_action_undo (
RangeAction * self, GError ** error);
WARN_UNUSED_RESULT UndoableAction * range_action_new(RangeActionType type, Position *start_pos, Position *end_pos, GError **error)
Creates a new action.
A Position is made up of bars.beats.sixteenths.ticks.
TimelineSelections * sel_after
Selections after the action.
Transport * transport
A copy of the transport at the start of the action.
Position start_pos
Range positions.
bool first_run
Whether this is the first run.
TimelineSelections * sel_before
Selections before the action, starting from objects intersecting with the start position and ending i...
RangeActionType type
Action type.
Selections to be used for the timeline's current selections, copying, undoing, etc.
Base struct to be inherited by implementing undoable actions.
Current TimelineArranger selections.