Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::timeline_editor::TrackEditIntent Struct Reference

One track-arrangement step expressed without reference to the device that produced it. More...

#include <track_edit_intent.hpp>

Public Attributes

TrackEditIntentKind kind = TrackEditIntentKind::Reorder
timeline::GesturePhase phase = timeline::GesturePhase::Single
timeline::ItemId sequence_id
timeline::ItemId track_id
 The track being moved.
std::optional< timeline::ItemId > expected_before_track_id
 Optimistic gate: the neighbour the front-end believes track_id precedes.
std::optional< timeline::ItemId > replacement_before_track_id
 Requested destination: the neighbour track_id should precede.

Detailed Description

One track-arrangement step expressed without reference to the device that produced it.

The kind field remains the discriminator for the reorder vocabulary and preserves the aggregate shape existing arrangers build. Track creation uses TrackCreateIntent below because its complete Track payload must be required by construction rather than added here as an optional field.

Insertion is expressed as "before this track", matching MoveTrack, so a front-end that resolved a drop position to a neighbour does not have to convert it to an index that the document would then have to interpret. A std::nullopt destination means last position — the same meaning the command gives it, deliberately not a separate "append" verb.

Member Data Documentation

◆ expected_before_track_id

std::optional<timeline::ItemId> pulp::timeline_editor::TrackEditIntent::expected_before_track_id

Optimistic gate: the neighbour the front-end believes track_id precedes.

◆ kind

TrackEditIntentKind pulp::timeline_editor::TrackEditIntent::kind = TrackEditIntentKind::Reorder

◆ phase

timeline::GesturePhase pulp::timeline_editor::TrackEditIntent::phase = timeline::GesturePhase::Single

◆ replacement_before_track_id

std::optional<timeline::ItemId> pulp::timeline_editor::TrackEditIntent::replacement_before_track_id

Requested destination: the neighbour track_id should precede.

◆ sequence_id

timeline::ItemId pulp::timeline_editor::TrackEditIntent::sequence_id

◆ track_id

timeline::ItemId pulp::timeline_editor::TrackEditIntent::track_id

The track being moved.


The documentation for this struct was generated from the following file: