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

Durable statement of the tuning a project or one instrument plays in. More...

#include <tuning.hpp>

Public Member Functions

constexpr auto operator<=> (const TuningReference &) const =default

Public Attributes

TuningSystem system = TuningSystem::EqualTemperament
std::uint32_t reference_pitch_millihertz = kDefaultReferencePitchMillihertz
std::optional< ContentHash > scale_content
 Sealed .scl payload. Required when system is Scala, absent otherwise.
std::optional< ContentHash > keyboard_map_content
 Sealed .kbm payload.

Detailed Description

Durable statement of the tuning a project or one instrument plays in.

The reference pitch is exact millihertz rather than a float so a saved document states the pitch the user typed. A tuning is content-addressed rather than identity-addressed: the same scale referenced by two documents is the same bytes, and a copy or import carries the reference without any identity to remap.

Member Function Documentation

◆ operator<=>()

auto pulp::timeline::TuningReference::operator<=> ( const TuningReference & ) const
constexprdefault

Member Data Documentation

◆ keyboard_map_content

std::optional<ContentHash> pulp::timeline::TuningReference::keyboard_map_content

Sealed .kbm payload.

Only a Scala tuning may name one; absence means the scale maps onto the keyboard by its own default.

◆ reference_pitch_millihertz

std::uint32_t pulp::timeline::TuningReference::reference_pitch_millihertz = kDefaultReferencePitchMillihertz

◆ scale_content

std::optional<ContentHash> pulp::timeline::TuningReference::scale_content

Sealed .scl payload. Required when system is Scala, absent otherwise.

◆ system

TuningSystem pulp::timeline::TuningReference::system = TuningSystem::EqualTemperament

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