6#include "dsp/tick_types.h"
7#include "structure/arrangement/clip.h"
8#include "utils/typed_uuid_reference.h"
10#include <QUndoCommand>
12namespace zrythm::commands
37 dsp::ContentTick clip_start{};
38 dsp::ContentTick loop_start{};
39 dsp::ContentTick loop_end{};
40 bool track_bounds{
true };
47 dsp::ContentTick new_clip_start,
48 dsp::ContentTick new_loop_start,
49 dsp::ContentTick new_loop_end);
51 void undo ()
override;
52 void redo ()
override;
62 dsp::ContentTick clip_start,
63 dsp::ContentTick loop_start,
64 dsp::ContentTick loop_end);
static Snapshot snapshotOf(const structure::arrangement::Clip &clip)
Read a snapshot of clip's current loop-points state.
SetClipLoopPointsCommand(utils::TypedUuidReference< structure::arrangement::Clip > clip, dsp::ContentTick new_clip_start, dsp::ContentTick new_loop_start, dsp::ContentTick new_loop_end)
Capture before_ from clip's current state; redo() will move it to the given target.
static void applyToClip(structure::arrangement::Clip &clip, dsp::ContentTick clip_start, dsp::ContentTick loop_start, dsp::ContentTick loop_end)
Apply a loop-points target to clip directly: length-tracking is disabled, the three positions are wri...
Intermediate base class for all clip types.
Typed, reference-counted UUID reference into an IObjectRegistry.
Snapshot of the three loop positions plus the track-bounds flag.