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

#include <voicing.hpp>

Public Member Functions

constexpr std::size_t size () const noexcept
constexpr std::optional< int > pitch (std::size_t index) const noexcept
constexpr std::span< const std::uint8_t > pitches () const noexcept
constexpr int motion () const noexcept
constexpr auto operator<=> (const Voicing &) const =default

Friends

struct detail::VoicingAccess
std::optional< Voicing > voice_chord (int root_midi, const ChordFormula &formula, VoicingConstraints constraints={})
std::optional< Voicing > minimum_motion_voice_leading (std::span< const int > previous, PitchClass target_root, const ChordFormula &formula, MidiRange range={})

Member Function Documentation

◆ motion()

int pulp::music::Voicing::motion ( ) const
inlineconstexprnoexcept

◆ operator<=>()

auto pulp::music::Voicing::operator<=> ( const Voicing & ) const
constexprdefault

◆ pitch()

std::optional< int > pulp::music::Voicing::pitch ( std::size_t index) const
inlineconstexprnoexcept

◆ pitches()

std::span< const std::uint8_t > pulp::music::Voicing::pitches ( ) const
inlineconstexprnoexcept

◆ size()

std::size_t pulp::music::Voicing::size ( ) const
inlineconstexprnoexcept

◆ detail::VoicingAccess

friend struct detail::VoicingAccess
friend

◆ minimum_motion_voice_leading

std::optional< Voicing > minimum_motion_voice_leading ( std::span< const int > previous,
PitchClass target_root,
const ChordFormula & formula,
MidiRange range = {} )
friend

◆ voice_chord

std::optional< Voicing > voice_chord ( int root_midi,
const ChordFormula & formula,
VoicingConstraints constraints = {} )
friend

The documentation for this class was generated from the following file:
  • /home/runner/work/pulp/pulp/core/music/include/pulp/music/voicing.hpp