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

#include <pitch.hpp>

Public Member Functions

constexpr PitchClass root () const noexcept
constexpr PitchClassSet intervals () const noexcept
constexpr PitchClassSet pitch_classes () const noexcept
constexpr std::size_t degree_count () const noexcept
constexpr bool contains (PitchClass pitch_class) const noexcept
constexpr std::optional< PitchClass > degree_pitch_class (std::size_t degree) const noexcept
constexpr std::optional< std::size_t > degree_index (PitchClass pitch_class) const noexcept
constexpr std::optional< int > degree_to_semitones (int degree) const noexcept
constexpr Scale transposed (int semitones) const noexcept
constexpr std::optional< Scale > rotated (std::size_t degree) const noexcept
constexpr auto operator<=> (const Scale &) const =default

Static Public Member Functions

static constexpr std::optional< Scale > from_intervals (PitchClass root, PitchClassSet intervals) noexcept
static constexpr std::optional< Scale > named (PitchClass root, NamedScale name) noexcept

Member Function Documentation

◆ contains()

bool pulp::music::Scale::contains ( PitchClass pitch_class) const
inlineconstexprnoexcept

◆ degree_count()

std::size_t pulp::music::Scale::degree_count ( ) const
inlineconstexprnoexcept

◆ degree_index()

std::optional< std::size_t > pulp::music::Scale::degree_index ( PitchClass pitch_class) const
inlineconstexprnoexcept

◆ degree_pitch_class()

std::optional< PitchClass > pulp::music::Scale::degree_pitch_class ( std::size_t degree) const
inlineconstexprnoexcept

◆ degree_to_semitones()

std::optional< int > pulp::music::Scale::degree_to_semitones ( int degree) const
inlineconstexprnoexcept

◆ from_intervals()

constexpr std::optional< Scale > pulp::music::Scale::from_intervals ( PitchClass root,
PitchClassSet intervals )
inlinestaticconstexprnoexcept

◆ intervals()

PitchClassSet pulp::music::Scale::intervals ( ) const
inlineconstexprnoexcept

◆ named()

constexpr std::optional< Scale > pulp::music::Scale::named ( PitchClass root,
NamedScale name )
inlinestaticconstexprnoexcept

◆ operator<=>()

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

◆ pitch_classes()

PitchClassSet pulp::music::Scale::pitch_classes ( ) const
inlineconstexprnoexcept

◆ root()

PitchClass pulp::music::Scale::root ( ) const
inlineconstexprnoexcept

◆ rotated()

std::optional< Scale > pulp::music::Scale::rotated ( std::size_t degree) const
inlineconstexprnoexcept

◆ transposed()

Scale pulp::music::Scale::transposed ( int semitones) const
inlineconstexprnoexcept

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