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

Versioned, canonical identity carried by every routed spectral batch. More...

#include <spectral_frame.hpp>

Public Member Functions

std::array< std::uint8_t, encoded_size > encode () const noexcept
 Canonical little-endian value encoding.

Static Public Member Functions

static SpectralResult< SpectralFrameContract > decode (std::span< const std::uint8_t > bytes) noexcept

Public Attributes

std::uint16_t version = 1
std::uint16_t profile = 1
std::uint32_t fft_size = 0
std::uint32_t hop = 0
std::uint16_t channels = 0
std::uint16_t bins = 0
std::uint64_t sample_rate_bits = 0
std::uint8_t window = 1
std::uint8_t phase = 1
std::uint8_t normalization = 1
std::uint8_t precision = 1

Static Public Attributes

static constexpr std::size_t encoded_size = 32

Friends

bool operator== (const SpectralFrameContract &, const SpectralFrameContract &)=default

Detailed Description

Versioned, canonical identity carried by every routed spectral batch.

These fields are semantic data, not an object-layout or enum ordinal.

Member Function Documentation

◆ decode()

SpectralResult< SpectralFrameContract > pulp::graph::SpectralFrameContract::decode ( std::span< const std::uint8_t > bytes)
inlinestaticnodiscardnoexcept

◆ encode()

std::array< std::uint8_t, encoded_size > pulp::graph::SpectralFrameContract::encode ( ) const
inlinenodiscardnoexcept

Canonical little-endian value encoding.

The representation is fixed at 32 bytes and is independent of C++ padding, enum values, or host ABI.

◆ operator==

bool operator== ( const SpectralFrameContract & ,
const SpectralFrameContract &  )
friend

Member Data Documentation

◆ bins

std::uint16_t pulp::graph::SpectralFrameContract::bins = 0

◆ channels

std::uint16_t pulp::graph::SpectralFrameContract::channels = 0

◆ encoded_size

std::size_t pulp::graph::SpectralFrameContract::encoded_size = 32
staticconstexpr

◆ fft_size

std::uint32_t pulp::graph::SpectralFrameContract::fft_size = 0

◆ hop

std::uint32_t pulp::graph::SpectralFrameContract::hop = 0

◆ normalization

std::uint8_t pulp::graph::SpectralFrameContract::normalization = 1

◆ phase

std::uint8_t pulp::graph::SpectralFrameContract::phase = 1

◆ precision

std::uint8_t pulp::graph::SpectralFrameContract::precision = 1

◆ profile

std::uint16_t pulp::graph::SpectralFrameContract::profile = 1

◆ sample_rate_bits

std::uint64_t pulp::graph::SpectralFrameContract::sample_rate_bits = 0

◆ version

std::uint16_t pulp::graph::SpectralFrameContract::version = 1

◆ window

std::uint8_t pulp::graph::SpectralFrameContract::window = 1

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