#include <pulp/music/chord.hpp>#include <algorithm>#include <array>#include <bit>#include <compare>#include <cstddef>#include <cstdint>#include <cstdlib>#include <limits>#include <optional>#include <span>Go to the source code of this file.
Classes | |
| struct | pulp::music::MidiRange |
| struct | pulp::music::VoicingConstraints |
| class | pulp::music::Voicing |
| struct | pulp::music::detail::VoicingAccess |
Namespaces | |
| namespace | pulp |
| namespace | pulp::music |
| namespace | pulp::music::detail |
Enumerations | |
| enum class | pulp::music::VoicingMode : std::uint8_t { pulp::music::closed = 0 , pulp::music::open = 1 , pulp::music::drop2 = 2 , pulp::music::drop3 = 3 , pulp::music::spread = 4 } |
Functions | |
| 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) noexcept |
| std::optional< Voicing > | pulp::music::detail::solve_unordered_voice_leading (std::span< const PitchClass > pitch_classes, std::span< const int > previous, MidiRange range) noexcept |
| void | pulp::music::detail::sort_parallel (std::array< int, ChordFormula::kMaxNotes > &pitches, std::array< PitchClass, ChordFormula::kMaxNotes > &pitch_classes, std::size_t count) noexcept |
| std::optional< Voicing > | pulp::music::voice_chord (int root_midi, const ChordFormula &formula, VoicingConstraints constraints={}) |
| std::optional< Voicing > | pulp::music::minimum_motion_voice_leading (std::span< const int > previous, PitchClass target_root, const ChordFormula &formula, MidiRange range={}) |