From 748035c51427ba5b158cb9d1960e855ac5e945ef Mon Sep 17 00:00:00 2001 From: lisyarus Date: Sat, 18 Jul 2026 22:32:25 +0300 Subject: [PATCH] Add audio::literals to represent durations like 100_ms or 0.5_s --- libs/audio/include/psemek/audio/literals.hpp | 31 ++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 libs/audio/include/psemek/audio/literals.hpp diff --git a/libs/audio/include/psemek/audio/literals.hpp b/libs/audio/include/psemek/audio/literals.hpp new file mode 100644 index 00000000..22b2a4a5 --- /dev/null +++ b/libs/audio/include/psemek/audio/literals.hpp @@ -0,0 +1,31 @@ +#pragma once + +#include +#include + +#include + +namespace psemek::audio::literals +{ + + duration operator ""_s (unsigned long long value) + { + return duration::from_frames(value * frequency); + } + + duration operator ""_ms (unsigned long long value) + { + return duration::from_frames((value * frequency) / 1000); + } + + duration operator ""_s (long double value) + { + return duration::from_frames(std::round(value * frequency)); + } + + duration operator ""_ms (long double value) + { + return duration::from_frames(std::round(value * frequency / 1000.0)); + } + +}