64 float value_at(std::uint32_t frame)
const noexcept;
68 std::span<const VoiceModulationLane>
lanes{};
75 float fallback = 0.0f) const noexcept;
92 bool prepared() const noexcept {
return prepared_; }
93 std::uint32_t
max_lanes() const noexcept {
return max_lanes_; }
94 std::uint32_t
max_frames() const noexcept {
return max_frames_; }
95 std::uint32_t
frame_count() const noexcept {
return frame_count_; }
104 float value)
noexcept;
106 std::span<const float> values)
noexcept;
120 float constant_value,
121 const
float* values) noexcept;
123 float* values_for_lane(
std::uint32_t lane_index) noexcept;
126 std::vector<
float> values_;
127 std::uint32_t max_lanes_ = 0;
128 std::uint32_t max_frames_ = 0;
129 std::uint32_t frame_count_ = 0;
130 std::uint32_t lane_count_ = 0;
131 std::uint32_t overflow_count_ = 0;
132 bool prepared_ = false;
VoiceModulationResult begin_block(std::uint32_t frame_count) noexcept
std::uint32_t overflow_count() const noexcept
Definition voice_modulation_buffer.hpp:97
VoiceModulationResult add_constant(VoiceModulationTarget target, float value) noexcept
std::uint32_t max_frames() const noexcept
Definition voice_modulation_buffer.hpp:94
bool prepare(const VoiceModulationBufferConfig &config)
VoiceModulationResult add_audio_rate(VoiceModulationTarget target, std::span< const float > values) noexcept
bool prepared() const noexcept
Definition voice_modulation_buffer.hpp:92
std::uint32_t max_lanes() const noexcept
Definition voice_modulation_buffer.hpp:93
VoiceModulationBuffer()=default
VoiceModulationBlock block() const noexcept
VoiceModulationAudioRateReservation reserve_audio_rate(VoiceModulationTarget target) noexcept
std::uint32_t frame_count() const noexcept
Definition voice_modulation_buffer.hpp:95
Definition analyzer_provider.hpp:12
@ Gain
Definition live_dsp_telemetry.hpp:40
VoiceModulationRate
Definition voice_modulation_buffer.hpp:25
@ AudioRate
Definition voice_modulation_buffer.hpp:27
@ Constant
Definition voice_modulation_buffer.hpp:26
@ NotPrepared
Definition sample_heritage_bus_dsp.hpp:21
@ Ok
Definition loop_types.hpp:34
@ InvalidTarget
Definition finite_time_stretch.hpp:16
VoiceModulationTarget
Definition voice_modulation_buffer.hpp:9
@ Aux6
Definition voice_modulation_buffer.hpp:21
@ PitchCents
Definition voice_modulation_buffer.hpp:11
@ Aux4
Definition voice_modulation_buffer.hpp:19
@ Gain
Definition voice_modulation_buffer.hpp:10
@ Aux7
Definition voice_modulation_buffer.hpp:22
@ Aux1
Definition voice_modulation_buffer.hpp:16
@ Aux5
Definition voice_modulation_buffer.hpp:20
@ Aux3
Definition voice_modulation_buffer.hpp:18
@ Pressure
Definition voice_modulation_buffer.hpp:13
@ Aux0
Definition voice_modulation_buffer.hpp:15
@ Timbre
Definition voice_modulation_buffer.hpp:14
@ Pan
Definition voice_modulation_buffer.hpp:12
@ Aux2
Definition voice_modulation_buffer.hpp:17
VoiceModulationStatus
Definition voice_modulation_buffer.hpp:30
@ NonFiniteValue
Definition voice_modulation_buffer.hpp:35
@ NotPrepared
Definition voice_modulation_buffer.hpp:32
@ LaneOverflow
Definition voice_modulation_buffer.hpp:37
@ InvalidFrameCount
Definition voice_modulation_buffer.hpp:33
@ DuplicateTarget
Definition voice_modulation_buffer.hpp:36
Definition voice_modulation_buffer.hpp:45
VoiceModulationStatus status
Definition voice_modulation_buffer.hpp:47
bool ok
Definition voice_modulation_buffer.hpp:46
float * values
Definition voice_modulation_buffer.hpp:48
std::uint32_t frame_count
Definition voice_modulation_buffer.hpp:49
Definition voice_modulation_buffer.hpp:67
std::span< const VoiceModulationLane > lanes
Definition voice_modulation_buffer.hpp:68
std::uint32_t frame_count
Definition voice_modulation_buffer.hpp:69
float value_at(VoiceModulationTarget target, std::uint32_t frame, float fallback=0.0f) const noexcept
const VoiceModulationLane * find(VoiceModulationTarget target) const noexcept
bool empty() const noexcept
Definition voice_modulation_buffer.hpp:71
Definition voice_modulation_buffer.hpp:52
std::uint32_t max_lanes
Definition voice_modulation_buffer.hpp:53
std::uint32_t max_frames
Definition voice_modulation_buffer.hpp:54
Definition voice_modulation_buffer.hpp:57
VoiceModulationRate rate
Definition voice_modulation_buffer.hpp:59
const float * values
Definition voice_modulation_buffer.hpp:61
float constant_value
Definition voice_modulation_buffer.hpp:60
float value_at(std::uint32_t frame) const noexcept
VoiceModulationTarget target
Definition voice_modulation_buffer.hpp:58
std::uint32_t frame_count
Definition voice_modulation_buffer.hpp:62
Definition voice_modulation_buffer.hpp:40
VoiceModulationStatus status
Definition voice_modulation_buffer.hpp:42
bool ok
Definition voice_modulation_buffer.hpp:41