6#include "dsp/transport.h"
7#include "gui/backend/backend/actions/undoable_action.h"
8#include "structure/arrangement/arranger_object_span.h"
10namespace zrythm::gui::actions
13class RangeAction :
public QObject,
public UndoableAction
17 DEFINE_UNDOABLE_ACTION_QML_PROPERTIES (RangeAction)
31 RangeAction (QObject * parent =
nullptr);
36 QObject * parent =
nullptr);
40 double get_range_size_in_ticks ()
const
42 throw std::runtime_error (
"Not implemented");
46 friend void init_from (
52 void init_loaded_impl ()
override;
54 void perform_impl ()
override;
55 void undo_impl ()
override;
57 ArrangerObjectSpan get_before_objects ()
const;
65 Type
type_ = Type::InsertSilence;
106class RangeInsertSilenceAction :
public RangeAction
110 : RangeAction (Type::InsertSilence, start_pos, end_pos)
115class RangeRemoveAction :
public RangeAction
119 : RangeAction (Type::Remove, start_pos, end_pos)
The Transport class represents the transport controls and state for an audio engine.
std::vector< ArrangerObject::Uuid > affected_objects_before_
Selections before the action, starting from objects intersecting with the start position and ending i...
signed_frame_t start_pos_
Range positions in frames.
std::vector< ArrangerObject::Uuid > objects_moved_
Objects moved (not added/removed) during the action.
QString to_string() const override
Stringizes the action to be used in Undo/Redo buttons.
std::vector< ArrangerObject::Uuid > objects_removed_
Objects removed from the project while performing the action.
std::unique_ptr< Transport > transport_
Selections after the action.
bool first_run_
Whether this is the first run.
std::vector< ArrangerObject::Uuid > objects_added_
Objects added to the project while performing the action.
Track span that offers helper methods on a range of tracks.
Base class for all objects in the arranger.
int_fast64_t signed_frame_t
Signed type for frame index.