#include <pulp/midi/utility_contract.hpp>#include <pulp/timebase/compiled_tempo_map.hpp>#include <pulp/timebase/coordinate_random.hpp>#include <pulp/timebase/quantize.hpp>#include <pulp/timebase/ratchet.hpp>#include <pulp/timebase/tick.hpp>#include <algorithm>#include <array>#include <cmath>#include <cstddef>#include <cstdint>#include <limits>#include <optional>#include <span>Go to the source code of this file.
Classes | |
| struct | pulp::midi::StepPlayerStep |
| The authored data at one lane and step coordinate. More... | |
| struct | pulp::midi::StepPlayerLaneSpec |
| struct | pulp::midi::StepPlayerBlock |
| Block timing for one sample-accurate step-player call. More... | |
| struct | pulp::midi::StepPlayerCapacityContract |
| struct | pulp::midi::StepPlayerCoordinate |
| A lane's authored coordinate at one grid tick. More... | |
| class | pulp::midi::StepPlayer< MaxLanes, MaxSteps, MaxRatchetHits, MaximumStepsPerBlock > |
| Fixed-capacity, sample-accurate multi-lane linear step player. More... | |
| struct | pulp::midi::StepPlayer< MaxLanes, MaxSteps, MaxRatchetHits, MaximumStepsPerBlock >::Spec |
Namespaces | |
| namespace | pulp |
| namespace | pulp::midi |
| namespace | pulp::midi::step_player_detail |
Enumerations | |
| enum class | pulp::midi::StepPlayerDirection : std::uint8_t { pulp::midi::Forward , pulp::midi::Reverse , pulp::midi::PingPong , pulp::midi::Random } |
| enum class | pulp::midi::StepPlayerTransportEvent : std::uint8_t { pulp::midi::Continuous , pulp::midi::Started , pulp::midi::Stopped , pulp::midi::Seeked , pulp::midi::LoopWrapped } |
| enum class | pulp::midi::StepPlayerError : std::uint8_t { pulp::midi::None , pulp::midi::NotConfigured , pulp::midi::InvalidLane , pulp::midi::InvalidStepIndex , pulp::midi::InvalidVelocity , pulp::midi::InvalidGate , pulp::midi::InvalidProbability , pulp::midi::InvalidRatchetCount , pulp::midi::InvalidPitchOffset , pulp::midi::InvalidTimingOffset } |
Functions | |
| constexpr std::int64_t | pulp::midi::step_player_detail::floor_div (std::int64_t numerator, std::int64_t denominator) noexcept |
| constexpr std::int64_t | pulp::midi::step_player_detail::saturating_multiply (std::int64_t lhs, std::int64_t rhs) noexcept |
| constexpr std::size_t | pulp::midi::step_player_detail::positive_mod (std::int64_t value, std::size_t modulus) noexcept |
| constexpr bool | pulp::midi::step_player_detail::distance_exceeds (std::int64_t lhs, std::int64_t rhs, std::uint64_t tolerance) noexcept |
| constexpr long double | pulp::midi::step_player_detail::difference_as_long_double (std::int64_t lhs, std::int64_t rhs) noexcept |
| std::int64_t | pulp::midi::step_player_detail::saturating_round (long double value) noexcept |
| constexpr bool | pulp::midi::step_player_detail::valid_direction (StepPlayerDirection direction) noexcept |