26#ifndef LMMS_SAMPLEFRAME_H
27#define LMMS_SAMPLEFRAME_H
158 const auto a =
abs();
159 const auto b = other.
abs();
161 return SampleFrame(std::max(a.left(), b.left()), std::max(a.right(), b.right()));
172 l = std::clamp(l, low, high);
175 r = std::clamp(r, low, high);
180 return std::isinf(
left()) || std::isinf(
right());
185 return std::isnan(
left()) || std::isnan(
right());
204 for (
f_cnt_t i = 0; i < frames; ++i)
206 peaks = peaks.
absMax(buffer[i]);
214 for (
size_t i = 0; i < frames; ++i)
216 target[i].
setLeft(source[2*i]);
217 target[i].
setRight(source[2*i + 1]);
223 for (
size_t i = 0; i < frames; ++i)
225 target[2*i] = source[i].
left();
226 target[2*i + 1] = source[i].
right();
Definition SampleFrame.h:41
void clamp(sample_t low, sample_t high)
Definition SampleFrame.h:169
SampleFrame()
Definition SampleFrame.h:43
sample_t & right()
Definition SampleFrame.h:81
const sample_t & operator[](size_t index) const
Definition SampleFrame.h:101
SampleFrame absMax(const SampleFrame &other)
Definition SampleFrame.h:156
sample_t & left()
Definition SampleFrame.h:66
bool containsNaN() const
Definition SampleFrame.h:183
SampleFrame(sample_t value)
Definition SampleFrame.h:47
const sample_t & right() const
Definition SampleFrame.h:86
SampleFrame operator*(const SampleFrame &other) const
Definition SampleFrame.h:135
sample_t * data()
Definition SampleFrame.h:56
SampleFrame operator+(const SampleFrame &other) const
Definition SampleFrame.h:106
SampleFrame & operator*=(float value)
Definition SampleFrame.h:127
const sample_t * data() const
Definition SampleFrame.h:61
std::array< sample_t, DEFAULT_CHANNELS > m_samples
Definition SampleFrame.h:189
sample_t sumOfSquaredAmplitudes() const
Definition SampleFrame.h:146
const sample_t & left() const
Definition SampleFrame.h:71
sample_t & operator[](size_t index)
Definition SampleFrame.h:96
SampleFrame(sample_t left, sample_t right)
Definition SampleFrame.h:51
void setLeft(const sample_t &value)
Definition SampleFrame.h:76
void operator*=(const SampleFrame &other)
Definition SampleFrame.h:140
sample_t average() const
Definition SampleFrame.h:164
SampleFrame abs() const
Definition SampleFrame.h:151
void setRight(const sample_t &value)
Definition SampleFrame.h:91
SampleFrame & operator+=(const SampleFrame &other)
Definition SampleFrame.h:111
SampleFrame operator*(float value) const
Definition SampleFrame.h:122
bool containsInf() const
Definition SampleFrame.h:178
Definition RemotePluginBase.cpp:34
void copyFromSampleFrames(float *target, const SampleFrame *source, size_t frames)
Definition SampleFrame.h:221
void copyToSampleFrames(SampleFrame *target, const float *source, size_t frames)
Definition SampleFrame.h:212
float sample_t
Definition LmmsTypes.h:39
std::uint64_t f_cnt_t
Definition LmmsTypes.h:43
void zeroSampleFrames(SampleFrame *buffer, size_t frames)
Definition SampleFrame.h:192
SampleFrame getAbsPeakValues(SampleFrame *buffer, size_t frames)
Definition SampleFrame.h:200