Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
automation_curve.hpp File Reference
#include <pulp/runtime/result.hpp>
#include <pulp/timebase/tick.hpp>
#include <pulp/timeline/item_id.hpp>
#include <cstdint>
#include <memory>
#include <optional>
#include <span>
#include <vector>

Go to the source code of this file.

Classes

struct  pulp::timeline::AutomationPoint
 One identity-bearing automation value at a canonical musical tick. More...
struct  pulp::timeline::AutomationPointPositionLess
 Canonical ordering for authored automation points and curve storage. More...
struct  pulp::timeline::AutomationCurveError
 Automation curve failure with the offending and, when relevant, conflicting identities. More...
class  pulp::timeline::AutomationCurve
 Immutable, position-ordered automation points. More...

Namespaces

namespace  pulp
namespace  pulp::timeline

Enumerations

enum class  pulp::timeline::AutomationInterpolation : std::uint8_t { pulp::timeline::AutomationInterpolation::Hold , pulp::timeline::AutomationInterpolation::Continuous }
 Interpolation applied from an automation point to its successor. More...
enum class  pulp::timeline::AutomationCurveErrorCode : std::uint8_t {
  pulp::timeline::AutomationCurveErrorCode::InvalidPointId , pulp::timeline::AutomationCurveErrorCode::DuplicatePointId , pulp::timeline::AutomationCurveErrorCode::DuplicatePosition , pulp::timeline::AutomationCurveErrorCode::InvalidInterpolation ,
  pulp::timeline::AutomationCurveErrorCode::NonFiniteValue , pulp::timeline::AutomationCurveErrorCode::InvalidCurvature , pulp::timeline::AutomationCurveErrorCode::MissingPoint
}
 Validation failures returned by AutomationCurve factories and edits. More...

Functions

float pulp::timeline::evaluate_continuous_automation_segment (timebase::TickPosition position, timebase::TickPosition start, timebase::TickPosition end, float start_value, float end_value, float curvature) noexcept
 Evaluates one continuous segment and clamps outside it.