50 static runtime::Result<MeterMap, MeterMapError>
56 std::span<const MeterPoint>
points() const noexcept {
return points_; }
61 std::vector<MeterPoint> points_;
64class CompiledMeterMap {
69 compile(std::span<const MeterPoint> points)
noexcept;
81 BarPosition start_bar{};
82 std::int64_t ticks_per_bar = 0;
83 MeterSignature signature{};
86 explicit CompiledMeterMap(std::vector<Segment> segments) : segments_(std::
move(segments)) {}
87 std::vector<Segment> segments_;
Result<T, E> — either holds a T or an E, never both.
Definition result.hpp:76
std::size_t segment_count() const noexcept
Definition compiled_meter_map.hpp:76
static runtime::Result< CompiledMeterMap, MeterMapError > compile(std::span< const MeterPoint > points) noexcept
MeterSignature meter_at_tick(TickPosition tick) const noexcept
TickPosition bar_to_tick(BarPosition bar, TickDuration tick_in_bar={}) const noexcept
BarTickPosition tick_to_bar(TickPosition tick) const noexcept
static runtime::Result< CompiledMeterMap, MeterMapError > compile(const MeterMap &map) noexcept
Definition compiled_meter_map.hpp:46
runtime::Result< MeterMap, MeterMapError > replacing_points(std::span< const MeterPoint > points) const noexcept
Definition compiled_meter_map.hpp:53
auto operator<=>(const MeterMap &) const =default
std::span< const MeterPoint > points() const noexcept
Definition compiled_meter_map.hpp:56
MeterMap()
Definition compiled_meter_map.hpp:48
static runtime::Result< MeterMap, MeterMapError > create(std::span< const MeterPoint > points) noexcept
Definition beat_division.hpp:11
@ RangeExceeded
Definition beat_division.hpp:49
MeterMapError
Definition compiled_meter_map.hpp:37
@ InvalidSignature
Definition compiled_meter_map.hpp:40
@ ChangeNotOnBarBoundary
Definition compiled_meter_map.hpp:42
@ UnorderedPoints
Definition compiled_meter_map.hpp:41
@ Empty
Definition compiled_meter_map.hpp:38
@ MissingTickZero
Definition compiled_meter_map.hpp:39
@ move
Definition web_event_translate.hpp:110
Result<T, E> — success / failure union for fallible operations.
Definition compiled_meter_map.hpp:26
std::int64_t value
Definition compiled_meter_map.hpp:27
constexpr auto operator<=>(const BarPosition &) const =default
Definition compiled_meter_map.hpp:31
TickDuration tick_in_bar
Definition compiled_meter_map.hpp:33
constexpr auto operator<=>(const BarTickPosition &) const =default
BarPosition bar
Definition compiled_meter_map.hpp:32
Definition compiled_meter_map.hpp:20
MeterSignature signature
Definition compiled_meter_map.hpp:22
constexpr auto operator<=>(const MeterPoint &) const =default
TickPosition tick
Definition compiled_meter_map.hpp:21
Definition compiled_meter_map.hpp:14
std::int32_t denominator
Definition compiled_meter_map.hpp:16
std::int32_t numerator
Definition compiled_meter_map.hpp:15
constexpr auto operator<=>(const MeterSignature &) const =default