diff --git a/xybrid/data/audioframe.h b/xybrid/data/audioframe.h index 06aa4c9..81df176 100644 --- a/xybrid/data/audioframe.h +++ b/xybrid/data/audioframe.h @@ -50,6 +50,8 @@ namespace Xybrid::Data { inline AudioFrame flip() { return {r, l}; } inline AudioFrame clamp(double m = 1.0) { return { std::clamp(l, -m, m), std::clamp(r, -m, m) }; } + static inline AudioFrame lerp(AudioFrame a, AudioFrame b, double r) { return b * r + a * (1.0 - r); } + static AudioFrame gainBalanceMult(double gain, double balance = 0.0); inline AudioFrame gainBalance(double gain, double balance = 0.0) const { return *this*gainBalanceMult(gain, balance); } };