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

One validated note editing step, independent of pointer or view geometry. More...

#include <edit_intent.hpp>

Public Member Functions

bool operator== (const NoteEditIntent &other) const noexcept

Public Attributes

NoteEditIntentKind kind = NoteEditIntentKind::Move
timeline::GesturePhase phase = timeline::GesturePhase::Single
timeline::ItemId sequence_id
timeline::ItemId track_id
timeline::ItemId clip_id
std::optional< timeline::NoteEvent > expected
std::optional< timeline::NoteEvent > replacement

Detailed Description

One validated note editing step, independent of pointer or view geometry.

sequence_id, track_id, and clip_id locate the owning MIDI clip. Insert carries only replacement, Erase carries only expected, and the three transforms carry both with the same note identity. The values are snapshots, not references into MidiContent, so a host may retain the intent safely.

Member Function Documentation

◆ operator==()

bool pulp::timeline_editor::NoteEditIntent::operator== ( const NoteEditIntent & other) const
noexcept

Member Data Documentation

◆ clip_id

timeline::ItemId pulp::timeline_editor::NoteEditIntent::clip_id

◆ expected

std::optional<timeline::NoteEvent> pulp::timeline_editor::NoteEditIntent::expected

◆ kind

NoteEditIntentKind pulp::timeline_editor::NoteEditIntent::kind = NoteEditIntentKind::Move

◆ phase

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

◆ replacement

std::optional<timeline::NoteEvent> pulp::timeline_editor::NoteEditIntent::replacement

◆ sequence_id

timeline::ItemId pulp::timeline_editor::NoteEditIntent::sequence_id

◆ track_id

timeline::ItemId pulp::timeline_editor::NoteEditIntent::track_id

The documentation for this struct was generated from the following file:
  • /home/runner/work/pulp/pulp/core/timeline_editor/include/pulp/timeline_editor/edit_intent.hpp