Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
beat_division.hpp File Reference
#include <pulp/runtime/result.hpp>
#include <pulp/timebase/tick.hpp>
#include <compare>
#include <cstddef>
#include <cstdint>
#include <limits>

Go to the source code of this file.

Classes

struct  pulp::timebase::BeatFraction

Namespaces

namespace  pulp
namespace  pulp::timebase
namespace  pulp::timebase::detail

Enumerations

enum class  pulp::timebase::BeatDivision : std::uint8_t {
  pulp::timebase::Whole = 0 , pulp::timebase::WholeDotted = 1 , pulp::timebase::WholeTriplet = 2 , pulp::timebase::Half = 3 ,
  pulp::timebase::HalfDotted = 4 , pulp::timebase::HalfTriplet = 5 , pulp::timebase::Quarter = 6 , pulp::timebase::QuarterDotted = 7 ,
  pulp::timebase::QuarterTriplet = 8 , pulp::timebase::Eighth = 9 , pulp::timebase::EighthDotted = 10 , pulp::timebase::EighthTriplet = 11 ,
  pulp::timebase::Sixteenth = 12 , pulp::timebase::SixteenthDotted = 13 , pulp::timebase::SixteenthTriplet = 14 , pulp::timebase::ThirtySecond = 15 ,
  pulp::timebase::ThirtySecondDotted = 16 , pulp::timebase::ThirtySecondTriplet = 17 , pulp::timebase::SixtyFourth = 18 , pulp::timebase::SixtyFourthDotted = 19 ,
  pulp::timebase::SixtyFourthTriplet = 20 , pulp::timebase::Count = 21
}
enum class  pulp::timebase::BeatDivisionError { pulp::timebase::InvalidDivision , pulp::timebase::NotExactlyRepresentable , pulp::timebase::RangeExceeded }

Functions

constexpr BeatFraction pulp::timebase::beat_fraction_or (BeatDivision division, BeatFraction fallback) noexcept
 Returns the exact fraction for division, or fallback for an invalid ordinal.
runtime::Result< BeatFraction, BeatDivisionError > pulp::timebase::beat_fraction (BeatDivision division) noexcept
runtime::Result< TickDuration, BeatDivisionError > pulp::timebase::division_ticks (BeatDivision division) noexcept

Variables

constexpr BeatFraction pulp::timebase::detail::kBeatDivisionFractions []