#include <pulp/music/detail/random_range.hpp>#include <array>#include <compare>#include <cstddef>#include <cstdint>#include <optional>#include <span>Go to the source code of this file.
Namespaces | |
| namespace | pulp |
| namespace | pulp::music |
Enumerations | |
| enum class | pulp::music::PatternError : std::uint8_t { pulp::music::none = 0 , pulp::music::empty_pattern , pulp::music::capacity_exceeded , pulp::music::pulses_exceed_steps , pulp::music::invalid_probability , pulp::music::invalid_mode , pulp::music::unsupported_recipe_version } |
| enum class | pulp::music::PatternWalkerMode : std::uint8_t { pulp::music::forward = 0 , pulp::music::reverse , pulp::music::ping_pong , pulp::music::random } |
| enum class | pulp::music::CellularBoundary : std::uint8_t { pulp::music::fixed_off = 0 , pulp::music::wrap } |
Functions | |
| template<std::size_t MaxSteps = 64> | |
| constexpr PatternResult< MaxSteps > | pulp::music::euclidean_pattern (std::size_t steps, std::size_t pulses, std::int64_t rotation=0) noexcept |
| template<std::size_t MaxSteps = 64> | |
| constexpr PatternResult< MaxSteps > | pulp::music::materialize_pattern (EuclideanPatternRecipe recipe) noexcept |
| template<std::size_t MaxSteps = 64> | |
| constexpr PatternResult< MaxSteps > | pulp::music::cellular_evolve (const BinaryPattern< MaxSteps > &input, std::uint8_t rule, CellularBoundary boundary=CellularBoundary::wrap) noexcept |
| template<std::size_t MaxSteps = 64> | |
| constexpr ShiftRegisterResult< MaxSteps > | pulp::music::looping_shift_register (const BinaryPattern< MaxSteps > &input, MutationChance chance, std::uint64_t random_word) noexcept |
Variables | |
| constexpr std::uint16_t | pulp::music::euclidean_pattern_recipe_version = 1 |