#include <pulp/music/pattern.hpp>#include <compare>#include <cstddef>#include <cstdint>#include <limits>Go to the source code of this file.
Classes | |
| struct | pulp::music::RhythmDrawCoordinate |
| struct | pulp::music::RhythmRelationshipConfig |
| struct | pulp::music::RhythmRelationshipResult< MaxSteps > |
Namespaces | |
| namespace | pulp |
| namespace | pulp::music |
| namespace | pulp::music::detail |
Enumerations | |
| enum class | pulp::music::RhythmRelationship : std::uint8_t { pulp::music::coincident = 0 , pulp::music::complementary , pulp::music::independent } |
| enum class | pulp::music::RhythmLengthMapping : std::uint8_t { pulp::music::wrap = 0 , pulp::music::proportional } |
| enum class | pulp::music::RhythmCollisionPolicy : std::uint8_t { pulp::music::allow_source_overlap = 0 , pulp::music::avoid_source_overlap } |
| enum class | pulp::music::RhythmDensityPolicy : std::uint8_t { pulp::music::preserve_candidates = 0 , pulp::music::exact_onsets } |
| enum class | pulp::music::RhythmRelationshipError : std::uint8_t { pulp::music::none = 0 , pulp::music::empty_source , pulp::music::empty_target , pulp::music::capacity_exceeded , pulp::music::invalid_relationship , pulp::music::invalid_length_mapping , pulp::music::invalid_collision_policy , pulp::music::invalid_density_policy , pulp::music::insufficient_candidates } |
Functions | |
| constexpr std::uint64_t | pulp::music::detail::rhythm_mix (std::uint64_t value) noexcept |
| constexpr std::uint64_t | pulp::music::detail::rhythm_draw (RhythmDrawCoordinate coordinate, std::size_t target_step) noexcept |
| constexpr bool | pulp::music::detail::valid_relationship (RhythmRelationship value) noexcept |
| constexpr bool | pulp::music::detail::valid_length_mapping (RhythmLengthMapping value) noexcept |
| constexpr bool | pulp::music::detail::valid_collision_policy (RhythmCollisionPolicy value) noexcept |
| constexpr bool | pulp::music::detail::valid_density_policy (RhythmDensityPolicy value) noexcept |
| constexpr std::size_t | pulp::music::detail::delayed_step (std::size_t step, std::size_t length, std::int64_t phase_steps) noexcept |
| constexpr std::size_t | pulp::music::detail::multiply_divide_floor (std::size_t multiplicand, std::size_t multiplier, std::size_t divisor) noexcept |
| template<std::size_t MaxSteps> | |
| constexpr std::size_t | pulp::music::detail::mapped_source_step (const BinaryPattern< MaxSteps > &source, const RhythmRelationshipConfig &config, std::size_t target_step) noexcept |
| template<std::size_t MaxSteps> | |
| constexpr bool | pulp::music::detail::relationship_candidate (const BinaryPattern< MaxSteps > &source, const RhythmRelationshipConfig &config, std::size_t target_step) noexcept |
| template<std::size_t MaxSteps = 64> | |
| constexpr RhythmRelationshipResult< MaxSteps > | pulp::music::derive_rhythm_relationship (const BinaryPattern< MaxSteps > &source, const RhythmRelationshipConfig &config) noexcept |