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

Preparation and callback-work ceilings shared by document compilation and track automation rendering. More...

#include <automation_limits.hpp>

Public Member Functions

constexpr bool valid () const noexcept
constexpr bool operator== (const AutomationPlaybackLimits &) const =default

Static Public Member Functions

static constexpr AutomationPlaybackLimits web_defaults () noexcept
static constexpr AutomationPlaybackLimits platform_defaults () noexcept

Public Attributes

std::uint32_t max_device_placements_per_track = 64
std::uint32_t max_lanes_per_track = 256
std::uint32_t max_points_per_lane = 16'384
std::uint32_t max_points_per_track = 65'536
std::uint32_t max_intersecting_segments_per_block = 8'192
 Bounds the compiled segments whose topology a block render may inspect across all lanes and active transport ranges.
std::uint32_t max_events_per_device_per_block = 1'024
 Lowers the published event count but not the fixed per-device backing arrays, which remain sized to kMaximumEventsPerDevicePerBlock.

Static Public Attributes

static constexpr std::uint32_t kMaximumDevicePlacementsPerTrack = 1'024
static constexpr std::uint32_t kMaximumLanesPerTrack = 1'024
static constexpr std::uint32_t kMaximumPointsPerLane = 65'536
static constexpr std::uint32_t kMaximumPointsPerTrack = 262'144
static constexpr std::uint32_t kMaximumIntersectingSegmentsPerBlock = 65'536
static constexpr std::uint32_t kMaximumEventsPerDevicePerBlock = 1'024

Detailed Description

Preparation and callback-work ceilings shared by document compilation and track automation rendering.

Applications may lower these values, but hard maxima keep caller-supplied configurations within portable memory bounds. A compiled automation program retains one segment per authored point, so the point ceilings also bound direct renderer adoption.

Member Function Documentation

◆ operator==()

bool pulp::playback::AutomationPlaybackLimits::operator== ( const AutomationPlaybackLimits & ) const
constexprdefault

◆ platform_defaults()

constexpr AutomationPlaybackLimits pulp::playback::AutomationPlaybackLimits::platform_defaults ( )
inlinestaticconstexprnoexcept

◆ valid()

bool pulp::playback::AutomationPlaybackLimits::valid ( ) const
inlineconstexprnoexcept

◆ web_defaults()

constexpr AutomationPlaybackLimits pulp::playback::AutomationPlaybackLimits::web_defaults ( )
inlinestaticconstexprnoexcept

Member Data Documentation

◆ kMaximumDevicePlacementsPerTrack

std::uint32_t pulp::playback::AutomationPlaybackLimits::kMaximumDevicePlacementsPerTrack = 1'024
staticconstexpr

◆ kMaximumEventsPerDevicePerBlock

std::uint32_t pulp::playback::AutomationPlaybackLimits::kMaximumEventsPerDevicePerBlock = 1'024
staticconstexpr

◆ kMaximumIntersectingSegmentsPerBlock

std::uint32_t pulp::playback::AutomationPlaybackLimits::kMaximumIntersectingSegmentsPerBlock = 65'536
staticconstexpr

◆ kMaximumLanesPerTrack

std::uint32_t pulp::playback::AutomationPlaybackLimits::kMaximumLanesPerTrack = 1'024
staticconstexpr

◆ kMaximumPointsPerLane

std::uint32_t pulp::playback::AutomationPlaybackLimits::kMaximumPointsPerLane = 65'536
staticconstexpr

◆ kMaximumPointsPerTrack

std::uint32_t pulp::playback::AutomationPlaybackLimits::kMaximumPointsPerTrack = 262'144
staticconstexpr

◆ max_device_placements_per_track

std::uint32_t pulp::playback::AutomationPlaybackLimits::max_device_placements_per_track = 64

◆ max_events_per_device_per_block

std::uint32_t pulp::playback::AutomationPlaybackLimits::max_events_per_device_per_block = 1'024

Lowers the published event count but not the fixed per-device backing arrays, which remain sized to kMaximumEventsPerDevicePerBlock.

◆ max_intersecting_segments_per_block

std::uint32_t pulp::playback::AutomationPlaybackLimits::max_intersecting_segments_per_block = 8'192

Bounds the compiled segments whose topology a block render may inspect across all lanes and active transport ranges.

◆ max_lanes_per_track

std::uint32_t pulp::playback::AutomationPlaybackLimits::max_lanes_per_track = 256

◆ max_points_per_lane

std::uint32_t pulp::playback::AutomationPlaybackLimits::max_points_per_lane = 16'384

◆ max_points_per_track

std::uint32_t pulp::playback::AutomationPlaybackLimits::max_points_per_track = 65'536

The documentation for this struct was generated from the following file: