#include <strum.hpp>
|
| using | Block = note_schedule::Block |
|
| static constexpr MidiUtilityContract | contract () noexcept |
| static constexpr bool | valid_spec (StrumSpec spec) noexcept |
| static std::int64_t | spacing_samples (StrumSpec spec, const Block &block) noexcept |
| | Sample stride between adjacent notes of a linear spread.
|
| static std::int64_t | shaped_step (StrumShape shape, double exponent, std::size_t index, std::size_t count) noexcept |
| | Position of the note at ordered index index in a cluster of count, expressed in whole spacing steps.
|
| static std::int64_t | shaped_step (StrumShape shape, std::size_t index, std::size_t count) noexcept |
| | Legacy shape-only helper; preserves the quadratic curve law.
|
◆ Block
template<std::size_t MaximumClusterNotes = 16>
◆ Strum()
template<std::size_t MaximumClusterNotes = 16>
|
|
inlineexplicitconstexprnoexcept |
◆ contract()
template<std::size_t MaximumClusterNotes = 16>
|
|
inlinestaticconstexprnoexcept |
◆ empty()
template<std::size_t MaximumClusterNotes = 16>
◆ flush()
template<std::size_t MaximumClusterNotes = 16>
Emit every buffered and scheduled attack immediately.
◆ process()
template<std::size_t MaximumClusterNotes = 16>
◆ replace_spec()
template<std::size_t MaximumClusterNotes = 16>
◆ reset()
template<std::size_t MaximumClusterNotes = 16>
◆ shaped_step() [1/2]
template<std::size_t MaximumClusterNotes = 16>
| std::int64_t pulp::midi::Strum< MaximumClusterNotes >::shaped_step |
( |
StrumShape | shape, |
|
|
double | exponent, |
|
|
std::size_t | index, |
|
|
std::size_t | count ) |
|
inlinestaticnoexcept |
Position of the note at ordered index index in a cluster of count, expressed in whole spacing steps.
Integer arithmetic throughout, so the spread is bit-exact and a test can derive it independently.
◆ shaped_step() [2/2]
template<std::size_t MaximumClusterNotes = 16>
Legacy shape-only helper; preserves the quadratic curve law.
◆ spacing_samples()
template<std::size_t MaximumClusterNotes = 16>
Sample stride between adjacent notes of a linear spread.
◆ spec()
template<std::size_t MaximumClusterNotes = 16>
◆ valid()
template<std::size_t MaximumClusterNotes = 16>
◆ valid_spec()
template<std::size_t MaximumClusterNotes = 16>
|
|
inlinestaticconstexprnoexcept |
◆ kOrderStream
template<std::size_t MaximumClusterNotes = 16>
◆ kTimingStream
template<std::size_t MaximumClusterNotes = 16>
◆ kVelocityStream
template<std::size_t MaximumClusterNotes = 16>
The documentation for this class was generated from the following file:
- /home/runner/work/pulp/pulp/core/midi/include/pulp/midi/strum.hpp