Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::music::detail Namespace Reference

Classes

struct  VoicingAccess

Functions

constexpr bool recognition_better (const ChordRecognition &lhs, const ChordRecognition &rhs) noexcept
constexpr bool recognition_equivalent (const ChordRecognition &lhs, const ChordRecognition &rhs) noexcept
constexpr bool valid_pattern_event_role (PatternEventRole role) noexcept
constexpr bool event_less (const PatternEvent &lhs, const PatternEvent &rhs) noexcept
constexpr std::uint64_t event_priority (std::uint64_t seed, timebase::RandomCoordinate coordinate, const PatternEvent &event) noexcept
constexpr std::uint64_t event_threshold (std::uint64_t seed, timebase::RandomCoordinate coordinate, const PatternEvent &event) noexcept
constexpr std::uint64_t positive_distance (std::int64_t low, std::int64_t high) noexcept
constexpr std::int64_t add_unsigned (std::int64_t value, std::uint64_t amount) noexcept
constexpr std::int64_t subtract_unsigned (std::int64_t value, std::uint64_t amount) noexcept
constexpr std::uint64_t scale_distance (std::uint64_t distance, std::uint16_t amount) noexcept
constexpr std::int64_t interpolate_integer (std::int64_t from, std::int64_t to, std::uint16_t amount) noexcept
constexpr std::uint16_t pitch_class_mask (std::initializer_list< int > semitones) noexcept
constexpr std::uint64_t rhythm_mix (std::uint64_t value) noexcept
constexpr std::uint64_t rhythm_draw (RhythmDrawCoordinate coordinate, std::size_t target_step) noexcept
constexpr bool valid_relationship (RhythmRelationship value) noexcept
constexpr bool valid_length_mapping (RhythmLengthMapping value) noexcept
constexpr bool valid_collision_policy (RhythmCollisionPolicy value) noexcept
constexpr bool valid_density_policy (RhythmDensityPolicy value) noexcept
constexpr std::size_t delayed_step (std::size_t step, std::size_t length, std::int64_t phase_steps) noexcept
constexpr std::size_t 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 mapped_source_step (const BinaryPattern< MaxSteps > &source, const RhythmRelationshipConfig &config, std::size_t target_step) noexcept
template<std::size_t MaxSteps>
constexpr bool relationship_candidate (const BinaryPattern< MaxSteps > &source, const RhythmRelationshipConfig &config, std::size_t target_step) noexcept
std::optional< Voicing > solve_ordered_voicing (std::span< const PitchClass > pitch_classes, std::span< const int > targets, MidiRange range, int minimum_spacing, int maximum_spacing) noexcept
std::optional< Voicing > solve_unordered_voice_leading (std::span< const PitchClass > pitch_classes, std::span< const int > previous, MidiRange range) noexcept
void sort_parallel (std::array< int, ChordFormula::kMaxNotes > &pitches, std::array< PitchClass, ChordFormula::kMaxNotes > &pitch_classes, std::size_t count) noexcept

Function Documentation

◆ add_unsigned()

std::int64_t pulp::music::detail::add_unsigned ( std::int64_t value,
std::uint64_t amount )
constexprnoexcept

◆ delayed_step()

std::size_t pulp::music::detail::delayed_step ( std::size_t step,
std::size_t length,
std::int64_t phase_steps )
constexprnoexcept

◆ event_less()

bool pulp::music::detail::event_less ( const PatternEvent & lhs,
const PatternEvent & rhs )
constexprnoexcept

◆ event_priority()

std::uint64_t pulp::music::detail::event_priority ( std::uint64_t seed,
timebase::RandomCoordinate coordinate,
const PatternEvent & event )
constexprnoexcept

◆ event_threshold()

std::uint64_t pulp::music::detail::event_threshold ( std::uint64_t seed,
timebase::RandomCoordinate coordinate,
const PatternEvent & event )
constexprnoexcept

◆ interpolate_integer()

std::int64_t pulp::music::detail::interpolate_integer ( std::int64_t from,
std::int64_t to,
std::uint16_t amount )
constexprnoexcept

◆ mapped_source_step()

template<std::size_t MaxSteps>
std::size_t pulp::music::detail::mapped_source_step ( const BinaryPattern< MaxSteps > & source,
const RhythmRelationshipConfig & config,
std::size_t target_step )
constexprnoexcept

◆ multiply_divide_floor()

std::size_t pulp::music::detail::multiply_divide_floor ( std::size_t multiplicand,
std::size_t multiplier,
std::size_t divisor )
constexprnoexcept

◆ pitch_class_mask()

std::uint16_t pulp::music::detail::pitch_class_mask ( std::initializer_list< int > semitones)
constexprnoexcept

◆ positive_distance()

std::uint64_t pulp::music::detail::positive_distance ( std::int64_t low,
std::int64_t high )
constexprnoexcept

◆ recognition_better()

bool pulp::music::detail::recognition_better ( const ChordRecognition & lhs,
const ChordRecognition & rhs )
constexprnoexcept

◆ recognition_equivalent()

bool pulp::music::detail::recognition_equivalent ( const ChordRecognition & lhs,
const ChordRecognition & rhs )
constexprnoexcept

◆ relationship_candidate()

template<std::size_t MaxSteps>
bool pulp::music::detail::relationship_candidate ( const BinaryPattern< MaxSteps > & source,
const RhythmRelationshipConfig & config,
std::size_t target_step )
constexprnoexcept

◆ rhythm_draw()

std::uint64_t pulp::music::detail::rhythm_draw ( RhythmDrawCoordinate coordinate,
std::size_t target_step )
constexprnoexcept

◆ rhythm_mix()

std::uint64_t pulp::music::detail::rhythm_mix ( std::uint64_t value)
constexprnoexcept

◆ scale_distance()

std::uint64_t pulp::music::detail::scale_distance ( std::uint64_t distance,
std::uint16_t amount )
constexprnoexcept

◆ solve_ordered_voicing()

std::optional< Voicing > pulp::music::detail::solve_ordered_voicing ( std::span< const PitchClass > pitch_classes,
std::span< const int > targets,
MidiRange range,
int minimum_spacing,
int maximum_spacing )
inlinenoexcept

◆ solve_unordered_voice_leading()

std::optional< Voicing > pulp::music::detail::solve_unordered_voice_leading ( std::span< const PitchClass > pitch_classes,
std::span< const int > previous,
MidiRange range )
inlinenoexcept

◆ sort_parallel()

void pulp::music::detail::sort_parallel ( std::array< int, ChordFormula::kMaxNotes > & pitches,
std::array< PitchClass, ChordFormula::kMaxNotes > & pitch_classes,
std::size_t count )
inlinenoexcept

◆ subtract_unsigned()

std::int64_t pulp::music::detail::subtract_unsigned ( std::int64_t value,
std::uint64_t amount )
constexprnoexcept

◆ valid_collision_policy()

bool pulp::music::detail::valid_collision_policy ( RhythmCollisionPolicy value)
constexprnoexcept

◆ valid_density_policy()

bool pulp::music::detail::valid_density_policy ( RhythmDensityPolicy value)
constexprnoexcept

◆ valid_length_mapping()

bool pulp::music::detail::valid_length_mapping ( RhythmLengthMapping value)
constexprnoexcept

◆ valid_pattern_event_role()

bool pulp::music::detail::valid_pattern_event_role ( PatternEventRole role)
constexprnoexcept

◆ valid_relationship()

bool pulp::music::detail::valid_relationship ( RhythmRelationship value)
constexprnoexcept