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

One authored source-to-parameter connection. More...

#include <modulation.hpp>

Public Member Functions

constexpr bool valid () const noexcept
 Returns whether id is a usable, non-sentinel document identity.
bool operator== (const ModulationRoute &) const =default

Public Attributes

ItemId id
ModulationSourceRef source
ModulationTarget target
float depth = 0.0f
bool enabled = true

Detailed Description

One authored source-to-parameter connection.

A route is not an automation lane, and the difference is what it writes. An automation lane authors a parameter's base value over time: at a given position the lane says what the parameter is. A modulation route instead contributes a relative offset on top of whatever base is in force, so the two compose rather than compete — the base can be automated, a knob, or a preset value, and modulation still applies. This is CLAP's param_value/param_mod separation, and it is the engine seam this schema exists to keep open.

Two consequences the document must therefore preserve, and does: several routes may reach one parameter and their offsets sum, where two automation lanes driving one parameter is a contradiction the model rejects; and a route's depth is a property of the connection rather than of its source, so one macro reaches many parameters with a different amount for each.

Member Function Documentation

◆ operator==()

bool pulp::timeline::ModulationRoute::operator== ( const ModulationRoute & ) const
default

◆ valid()

bool pulp::timeline::ModulationRoute::valid ( ) const
inlineconstexprnoexcept

Returns whether id is a usable, non-sentinel document identity.

Member Data Documentation

◆ depth

float pulp::timeline::ModulationRoute::depth = 0.0f

◆ enabled

bool pulp::timeline::ModulationRoute::enabled = true

◆ id

ItemId pulp::timeline::ModulationRoute::id

◆ source

ModulationSourceRef pulp::timeline::ModulationRoute::source

◆ target

ModulationTarget pulp::timeline::ModulationRoute::target

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