Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::midi::NoteRepeatSpec Struct Reference

Clock-divided note repeat / retrigger. More...

#include <note_repeat.hpp>

Public Member Functions

constexpr auto operator<=> (const NoteRepeatSpec &) const =default

Public Attributes

timebase::TickDuration interval {timebase::kTicksPerQuarter / 4}
std::uint8_t count = 1
std::uint8_t gate_percent = 50
std::uint8_t probability_percent = 100
std::uint8_t velocity_decay_percent = 100
std::uint64_t seed = 0

Detailed Description

Clock-divided note repeat / retrigger.

An authored attack is consumed and re-emitted as up to count gated hits one interval apart, each hit carrying a decayed velocity and passing an independent probability draw. Releasing the key cancels the hits that have not started; a hit already sounding keeps its gate, so the kernel never truncates a note it already owns.

count <= 1 is the declared bypass: the input passes through unchanged and the kernel owns nothing.

Member Function Documentation

◆ operator<=>()

auto pulp::midi::NoteRepeatSpec::operator<=> ( const NoteRepeatSpec & ) const
constexprdefault

Member Data Documentation

◆ count

std::uint8_t pulp::midi::NoteRepeatSpec::count = 1

◆ gate_percent

std::uint8_t pulp::midi::NoteRepeatSpec::gate_percent = 50

◆ interval

timebase::TickDuration pulp::midi::NoteRepeatSpec::interval {timebase::kTicksPerQuarter / 4}

◆ probability_percent

std::uint8_t pulp::midi::NoteRepeatSpec::probability_percent = 100

◆ seed

std::uint64_t pulp::midi::NoteRepeatSpec::seed = 0

◆ velocity_decay_percent

std::uint8_t pulp::midi::NoteRepeatSpec::velocity_decay_percent = 100

The documentation for this struct was generated from the following file: