Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
command.hpp File Reference
#include <pulp/timeline/midi_lane.hpp>
#include <pulp/timeline/model.hpp>
#include <pulp/timeline/modulation.hpp>
#include <pulp/timeline/tuning.hpp>
#include <cstddef>
#include <cstdint>
#include <optional>
#include <string>
#include <variant>
#include <vector>

Go to the source code of this file.

Classes

struct  pulp::timeline::WriterId
 Stable non-zero identity of a document writer. More...
struct  pulp::timeline::CommandId
 Writer-scoped, monotonically assigned command identity. More...
struct  pulp::timeline::TransactionId
 Writer-scoped, monotonically assigned transaction identity. More...
struct  pulp::timeline::DocumentRevision
 Monotonic document snapshot revision used for optimistic admission. More...
struct  pulp::timeline::UndoGroupId
 Writer-scoped identity joining gesture transactions into one undo unit. More...
struct  pulp::timeline::InsertClip
 Inserts an identity-bearing clip into a track. More...
struct  pulp::timeline::RemoveClip
 Removes a clip by its owning coordinates and identity. More...
struct  pulp::timeline::InsertAutomationLane
 Inserts an automation lane into a track. More...
struct  pulp::timeline::RemoveAutomationLane
 Removes an automation lane by identity. More...
struct  pulp::timeline::MoveClip
 Replaces a clip's time range under an exact optimistic-value gate. More...
struct  pulp::timeline::SetNoteVelocity
 Replaces one note velocity under an exact optimistic-value gate. More...
struct  pulp::timeline::ReplaceNoteContent
 Replaces the complete note event set of one note clip. More...
struct  pulp::timeline::SetNoteEvents
 Replaces the values of a named subset of one note clip's notes. More...
struct  pulp::timeline::InsertNotes
 Inserts a set of identity-bearing notes into one MIDI clip. More...
struct  pulp::timeline::RemoveNotes
 Removes a named set of notes under an exact optimistic-value gate. More...
struct  pulp::timeline::SetClipPlaybackProperties
 Replaces clip-level gain and fade controls under an exact value gate. More...
struct  pulp::timeline::SetTempoMap
 Replaces the complete project tempo map under an exact value gate. More...
struct  pulp::timeline::SetMeterMap
 Replaces the complete project meter map under an exact value gate. More...
struct  pulp::timeline::CreateAsset
 Adds one sealed recorded or imported media asset. More...
struct  pulp::timeline::RemoveAsset
 Removes a project-owned media asset by identity. More...
struct  pulp::timeline::InsertTakeLane
 Inserts one take lane and its owned take-identity subtree. More...
struct  pulp::timeline::RemoveTakeLane
 Removes a take lane and its owned take identities. More...
struct  pulp::timeline::InsertTake
 Inserts one take into an existing take lane. More...
struct  pulp::timeline::RemoveTake
 Removes one take from an existing take lane. More...
struct  pulp::timeline::SetRecordArm
 Replaces record-arm document intent under an exact optimistic-value gate. More...
struct  pulp::timeline::SetActiveTakeLane
 Selects the arrangement or an existing take lane under an exact value gate. More...
struct  pulp::timeline::SetTakeComp
 Replaces a take lane's canonical comp segments under an exact value gate. More...
struct  pulp::timeline::SetTrackFreeze
 Publishes or clears a pre-rendered track artifact under an exact value gate. More...
struct  pulp::timeline::SetChordScaleLane
 Replaces a sequence's complete chord/scale lane under an exact value gate. More...
struct  pulp::timeline::SetDynamicsLane
 Replaces a sequence's complete dynamics lane under an exact value gate. More...
struct  pulp::timeline::InsertMarker
 Inserts a sequence-owned marker identity. More...
struct  pulp::timeline::RemoveMarker
 Removes a sequence-owned marker by identity. More...
struct  pulp::timeline::InsertRegion
 Inserts a sequence-owned region identity. More...
struct  pulp::timeline::RemoveRegion
 Removes a sequence-owned region by identity. More...
struct  pulp::timeline::SetGroove
 Replaces a sequence's complete groove under an exact value gate. More...
struct  pulp::timeline::InsertScene
 Inserts a scene at an authored position in a sequence. More...
struct  pulp::timeline::RemoveScene
 Removes a scene and its owned slots by identity. More...
struct  pulp::timeline::InsertSlot
 Inserts a slot at an authored position in a scene. More...
struct  pulp::timeline::RemoveSlot
 Removes a slot from a scene by identity. More...
struct  pulp::timeline::InsertSequence
 Inserts a complete sequence and its owned identity subtree. More...
struct  pulp::timeline::CloneSequence
 Clones a sequence using an explicit, complete owned-identity mapping. More...
struct  pulp::timeline::RemoveSequence
 Removes a sequence and its owned identity subtree. More...
struct  pulp::timeline::SetClipSequenceRef
 Retargets a sequence-reference clip under an exact optimistic-value gate. More...
struct  pulp::timeline::SetTrackMixer
 Replaces track gain and pan under an exact optimistic-value gate. More...
struct  pulp::timeline::InsertTrack
 Inserts a track and its complete owned identity subtree at an authored position. More...
struct  pulp::timeline::RemoveTrack
 Removes a track and its complete owned identity subtree by identity. More...
struct  pulp::timeline::SetTrackName
 Replaces a track's authored name under an exact optimistic-value gate. More...
struct  pulp::timeline::MoveTrack
 Moves a track in authored order under an exact optimistic-position gate. More...
struct  pulp::timeline::InsertDevice
 Inserts a typed device declaration into a track's authored chain. More...
struct  pulp::timeline::RemoveDevice
 Removes a device declaration by identity. More...
struct  pulp::timeline::MoveDevice
 Moves a device under an exact optimistic authored-position gate. More...
struct  pulp::timeline::RetargetDevice
 Replaces device kind, binding, slot, stage, bypass, and wet/dry atomically. More...
struct  pulp::timeline::SetDeviceState
 Replaces the optional content-addressed opaque state reference. More...
struct  pulp::timeline::InsertMidiExpressionLane
 Inserts a controller/expression lane into a MIDI clip. More...
struct  pulp::timeline::RemoveMidiExpressionLane
 Removes a controller/expression lane from a MIDI clip by identity. More...
struct  pulp::timeline::SetMidiExpressionLanePoints
 Replaces one lane's authored points under an exact optimistic-value gate. More...
struct  pulp::timeline::SetProjectTuning
 Replaces the project-wide tuning statement under an exact value gate. More...
struct  pulp::timeline::SetTrackTuning
 Replaces one track's tuning override under an exact value gate. More...
struct  pulp::timeline::SetRegion
 Replaces one sequence-owned region under an exact value gate. More...
struct  pulp::timeline::InsertModulator
 Inserts a track-owned modulation source. More...
struct  pulp::timeline::RemoveModulator
 Removes a track-owned modulation source by identity. More...
struct  pulp::timeline::SetModulator
 Replaces a modulation source's declaration under an exact value gate. More...
struct  pulp::timeline::InsertMacro
 Inserts a track-owned macro control. More...
struct  pulp::timeline::RemoveMacro
 Removes a track-owned macro control by identity. More...
struct  pulp::timeline::SetMacro
 Replaces a macro control's declaration under an exact value gate. More...
struct  pulp::timeline::SetMacroValue
 Replaces only a macro's authored position under an exact value gate. More...
struct  pulp::timeline::InsertModulationRoute
 Inserts one authored source-to-parameter connection. More...
struct  pulp::timeline::RemoveModulationRoute
 Removes one authored connection by identity. More...
struct  pulp::timeline::SetModulationRoute
 Replaces a route's source, target, depth, and bypass under an exact gate. More...
struct  pulp::timeline::CommandEnvelope
 One command paired with its writer-scoped idempotency identity. More...
struct  pulp::timeline::Transaction
 Atomically admitted ordered command batch. More...

Namespaces

namespace  pulp
namespace  pulp::timeline

Typedefs

using pulp::timeline::Command
 Exhaustive set of durable Timeline document mutations.

Enumerations

enum class  pulp::timeline::GesturePhase : std::uint8_t {
  pulp::timeline::GesturePhase::Single , pulp::timeline::GesturePhase::Begin , pulp::timeline::GesturePhase::Update , pulp::timeline::GesturePhase::End ,
  pulp::timeline::GesturePhase::Cancel
}
 Lifecycle position of a transaction within an interactive gesture. More...

Functions

runtime::Result< Transaction, ModelError > pulp::timeline::build_diverge_transaction (const Project &project, ItemLocation clip, TransactionId transaction_id, DocumentRevision expected_revision, CommandId clone_command_id, CommandId retarget_command_id, std::optional< UndoGroupId > undo_group=std::nullopt)
 Builds the atomic clone-and-retarget transaction used to diverge a sequence reference.
bool pulp::timeline::equivalent (const ClipTimeRange &lhs, const ClipTimeRange &rhs) noexcept
 Compares time ranges by authored value rather than storage representation.
bool pulp::timeline::equivalent (const Clip &lhs, const Clip &rhs) noexcept
 Compares complete authored clip state.
bool pulp::timeline::equivalent (const AutomationLane &lhs, const AutomationLane &rhs) noexcept
 Compares complete authored automation-lane state.
bool pulp::timeline::equivalent (const TakeLane &lhs, const TakeLane &rhs) noexcept
 Compares complete authored take-lane state.
bool pulp::timeline::equivalent (const Command &lhs, const Command &rhs) noexcept
 Compares command alternatives and all authored fields.
bool pulp::timeline::equivalent (const Transaction &lhs, const Transaction &rhs) noexcept
 Compares transaction identity, admission metadata, and commands.
std::size_t pulp::timeline::retained_size (const Command &command) noexcept
 Returns the retained heap-byte estimate used for command/journal limits.
std::size_t pulp::timeline::retained_size (const Transaction &transaction) noexcept
 Returns the retained heap-byte estimate of a transaction and its commands.