Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
transaction.hpp File Reference
#include <pulp/timeline/command.hpp>
#include <pulp/timeline/compile_context.hpp>
#include <memory>
#include <optional>
#include <span>
#include <vector>

Go to the source code of this file.

Classes

struct  pulp::timeline::DirtyItem
 Canonical invalidation record for one item and its owning location. More...
struct  pulp::timeline::DirtyContext
 One sequence-owned context kind a transaction changed. More...
class  pulp::timeline::DirtySet
 Owned canonical collection of incremental invalidations. More...
struct  pulp::timeline::TransactionError
 Structured transaction rejection. More...
struct  pulp::timeline::ReducedTransaction
 Pure reduction result before revision publication. More...
struct  pulp::timeline::CommitResult
 Immutable state published by a successful session commit. More...

Namespaces

namespace  pulp
namespace  pulp::timeline

Enumerations

enum class  pulp::timeline::DirtyFlags : std::uint16_t {
  pulp::timeline::DirtyFlags::None = 0 , pulp::timeline::DirtyFlags::Structure = 1 << 0 , pulp::timeline::DirtyFlags::Timing = 1 << 1 , pulp::timeline::DirtyFlags::Content = 1 << 2 ,
  pulp::timeline::DirtyFlags::Notes = 1 << 3 , pulp::timeline::DirtyFlags::Added = 1 << 4 , pulp::timeline::DirtyFlags::Removed = 1 << 5 , pulp::timeline::DirtyFlags::Automation = 1 << 6 ,
  pulp::timeline::DirtyFlags::Take = 1 << 7 , pulp::timeline::DirtyFlags::Freeze = 1 << 8 , pulp::timeline::DirtyFlags::Marker = 1 << 9 , pulp::timeline::DirtyFlags::Context = 1 << 10 ,
  pulp::timeline::DirtyFlags::Mixer = 1 << 11
}
 Bitmask describing which interpretation of an item became stale. More...
enum class  pulp::timeline::ConflictCode : std::uint8_t {
  pulp::timeline::ConflictCode::InvalidIdentifier , pulp::timeline::ConflictCode::EmptyTransaction , pulp::timeline::ConflictCode::StaleRevision , pulp::timeline::ConflictCode::TransactionIdCollision ,
  pulp::timeline::ConflictCode::CommandIdCollision , pulp::timeline::ConflictCode::AlreadyAppliedResultExpired , pulp::timeline::ConflictCode::TargetMissing , pulp::timeline::ConflictCode::WrongTargetKind ,
  pulp::timeline::ConflictCode::InactiveTarget , pulp::timeline::ConflictCode::GestureState , pulp::timeline::ConflictCode::ParentMismatch , pulp::timeline::ConflictCode::ExpectedValueMismatch ,
  pulp::timeline::ConflictCode::IdentityNotAvailable , pulp::timeline::ConflictCode::JournalFull , pulp::timeline::ConflictCode::UndoFull , pulp::timeline::ConflictCode::NothingToUndo ,
  pulp::timeline::ConflictCode::NothingToRedo , pulp::timeline::ConflictCode::WriterLimit , pulp::timeline::ConflictCode::SequenceExhausted , pulp::timeline::ConflictCode::ModelInvariant ,
  pulp::timeline::ConflictCode::JournalDurability , pulp::timeline::ConflictCode::CheckpointMismatch , pulp::timeline::ConflictCode::ReplayDivergence , pulp::timeline::ConflictCode::Unspecified ,
  pulp::timeline::ConflictCode::CapabilityDenied , pulp::timeline::ConflictCode::WriterQuotaExhausted
}
 Stable reason a transaction cannot be reduced or committed. More...

Functions

constexpr DirtyFlags pulp::timeline::operator| (DirtyFlags lhs, DirtyFlags rhs) noexcept
 Combines independent dirty reasons.
runtime::Result< ReducedTransaction, TransactionError > pulp::timeline::reduce_transaction (const Project &project, const Transaction &transaction)
 Purely applies a transaction to a project without session publication.