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. | |
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.
|
constexprdefault |
| 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.
| std::uint32_t pulp::timeline::TuningReference::reference_pitch_millihertz = kDefaultReferencePitchMillihertz |
| std::optional<ContentHash> pulp::timeline::TuningReference::scale_content |
Sealed .scl payload. Required when system is Scala, absent otherwise.
| TuningSystem pulp::timeline::TuningReference::system = TuningSystem::EqualTemperament |