From c4ead52fd6e88f6426c9cf6f8d914f09f5a9f9f7 Mon Sep 17 00:00:00 2001 From: lisyarus Date: Fri, 25 Feb 2022 18:49:47 +0300 Subject: [PATCH] Rename audio::convert to audio::pack and add audio::unpack --- libs/audio/include/psemek/audio/sample.hpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libs/audio/include/psemek/audio/sample.hpp b/libs/audio/include/psemek/audio/sample.hpp index 31cb757d..fa821a3c 100644 --- a/libs/audio/include/psemek/audio/sample.hpp +++ b/libs/audio/include/psemek/audio/sample.hpp @@ -19,7 +19,7 @@ namespace psemek::audio } // maps [-1, 1] range to samples - inline sample convert(float v) + inline sample pack(float v) { static auto const min = static_cast(std::numeric_limits::min()); static auto const max = static_cast(std::numeric_limits::max()); @@ -27,4 +27,13 @@ namespace psemek::audio return clamp(min + (v * 0.5f + 0.5f) * (max - min)); } + // maps samples to [-1, 1] range + inline float unpack(sample s) + { + static auto const min = static_cast(std::numeric_limits::min()); + static auto const max = static_cast(std::numeric_limits::max()); + + return 2.f * (s - min) / (max - min) - 1.f; + } + }